我有一个与实体B有m:n关系的实体A,但是对于每个A,不仅可以有多个B,而且还有多个完全相同的B。
我尝试定义这样的关系:
@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持久性在play framework 2.0上执行此操作。 任何提示?
答案 0 :(得分:0)
您不能使用@ManyToMany,因为它的定义不允许您想要的重复。
您想要的是元素列表(如JPA @ElementCollection
),或者保持表格在模型中不相关,并使用查询来检索与A关联的B.
我会链接到ebeans文档,但它是一个PDF ... :(