2009-05-28 19 views
2

次のJPAエンティティを検討してください。私のアプリケーションインスタンスクラスは、Envelopeの4つの特別なインスタンスに対して常にOneToOne参照を持つ必要がありますが、0-無限のユーザー定義エンベロープもあります。これも可能ですか?単方向および/または双方向の参照が可能ですか?JPAエンティティがOneToManyおよびOneToManyとしてマップされている

@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 
} 

答えて

2

ジョインテーブルマッピングでこれを行うことができます:

@OneToMany 
@JoinTable(name = "USER_ENVELOPE", 
      joinColumns = { @JoinColumn(name = "APP_ID") }, 
      inverseJoinColumns { @JoinColumn(name = "ENVELOP_ID") })   
protected Set<Envelope> userEnvelopes = new HashSet<Envelope>(); 
関連する問題