2

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

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

1 に答える 1

2

結合テーブル マッピングを使用してこれを行うことができます。

@OneToMany
@JoinTable( name = "USER_ENVELOPE",
            joinColumns = { @JoinColumn( name = "APP_ID" ) },
            inverseJoinColumns { @JoinColumn( name = "ENVELOP_ID" ) } )        
protected Set<Envelope> userEnvelopes = new HashSet<Envelope>();
于 2009-05-28T14:21:41.000 に答える