Java 如何定义同一类型的两个单向一对多关系?
我试图使用Play Framework 2 Ebean持久性声明此结构:Java 如何定义同一类型的两个单向一对多关系?,java,playframework-2.0,one-to-many,ebean,Java,Playframework 2.0,One To Many,Ebean,我试图使用Play Framework 2 Ebean持久性声明此结构: @Entity class A { @OneToMany private List<B> firstBs; @OneToMany private List<B> secondBs; } @Entity class B { @OneToOne private Type1 type1; @OneToOne private Type2 type2; } 我用B1和B
@Entity
class A {
@OneToMany
private List<B> firstBs;
@OneToMany
private List<B> secondBs;
}
@Entity
class B {
@OneToOne
private Type1 type1;
@OneToOne
private Type2 type2;
}
我用B1和B2为firstBs列表实例化一个,并让secondBs一个为空。但当我从数据库检索实例时,这两个列表包含相同的元素B1和B2
有没有一种解决方案可以让两个同类型的单向一对多关系成为一个整体?我认为必须让它们成为多维关系。我的意思是从持久性提供者的角度思考:当从数据库获取数据时,它如何知道哪些实体放在firstBs中,哪些实体放在secondBs中?基于哪个标准?是的,这就是问题所在,但是否有方法指定要用于正确绑定的特定列或每个列表的特定表名?