2009-05-28 17 views
2

Betrachten Sie die folgende JPA-Entität. Meine Anwendungsinstanzklasse muss immer einen OneToOne-Verweis auf 4 spezielle Instanzen von Envelope haben, aber sie enthält auch eine Reihe von 0-unendlichen benutzerdefinierten Hüllkurven. Ist das überhaupt möglich? Ist dies mit unidirektionalen und/oder bidirektionalen Referenzen möglich?JPA-Entität als OneToOne sowie OneToMany zugeordnet

@Entity(name = "Application_Instance") 
public class ApplicationInstance implements Serializable { 

    @Id 
    private int databaseId; 
    private Envelope accountTransfersEnvelope = new Envelope("Account Transfers"); 
    @OneToOne 
    private Envelope newTransationsEnvelope = new Envelope("New Transactions"); 
    @OneToOne 
    private Envelope incomeEnvelope = new Envelope("Income Envelope"); 
    @OneToOne 
    private Envelope creditCarEnvelope= new Envelope("Credit Card"); 
    @OneToMany 
    protected Set<Envelope> userEnvelopes = new HashSet<Envelope>(); 

//rest of class 
} 

Antwort

2

Sie könnten dies tun mit einer Tabellenzuordnung verbinden:

@OneToMany 
@JoinTable(name = "USER_ENVELOPE", 
      joinColumns = { @JoinColumn(name = "APP_ID") }, 
      inverseJoinColumns { @JoinColumn(name = "ENVELOP_ID") })   
protected Set<Envelope> userEnvelopes = new HashSet<Envelope>(); 
Verwandte Themen