2012-05-01 75 views
1

我有一個實體A與具有am:n關係的實體B,但是對於每個A,不僅可以有多個B,而且還有多個完全相同的B.JPA @ManyToMany關係沒有在主表上的主要複合關鍵字

我試圖定義這樣的關係:

@Entity 
class A { 
    @Id 
    public Long id; 

    @ManyToMany 
    public List<B> bs = new ArrayList<B>(); 
} 

@Entity 
class B { 
    @Id 
    public Long id; 
} 

這給了我下面生成的DDL連接表:

create table a_b (
a_id       bigint not null, 
b_id      bigint not null, 
constraint pk_a_b primary key (a_id, b_id)) 
; 

除主複合鍵以外,DDL是好的,因爲這意味着一個A只能有一個特定的B一次。 我正在做這個與ebean持久性的播放框架2.0。 任何提示?

回答

0

你不能使用@ManyToMany,因爲它的定義不允許你想要的重複。

你想要什麼或者是元素(如JPA @ElementCollection)或保持表無關模型,並使用查詢檢索關聯到A.

的B I會鏈接到ebeans文檔的列表,但它是一個PDF ... :(