oak*_*oak 7 jpa jpa-2.0 spring-data-jpa
我有 2 张桌子:
第一个是“人”:
第二个是“PersonsGraphs”:
我正在寻找一种建立“家谱”的方法。
我的第一个选择是:将 personGraphs 加载到哈希表中,然后递归地构建树。
我想出的第二个选择:使用@OneToMany jpa-relation。这可以工作,但有时我有一些relation_types我想要/不想包含的内容。是否有任何选项允许我@OneToMany在使用时对关系设置一些条件@JoinTable?
谢谢!橡木
尝试使用Hibernate@Where 注解,例如:
@Entity
public class Person {
@Id
@GeneratedValue
private Integer id;
private String name;
@Enumerated(EnumType.STRING)
private Gender gender;
@ManyToOne
private Person parent;
@Where(clause = "gender = 'MALE'")
@OneToMany(mappedBy = "person")
private List<Person> sons;
@Where(clause = "gender = 'FEMALE'")
@OneToMany(mappedBy = "person")
private List<Person> daughters;
}
public enum Gender {
MALE, FEMALE
}
Run Code Online (Sandbox Code Playgroud)
我建议创建一个关系类来对连接表进行建模。
人 - 一对多 - 关系 - 关系 - 多对一源 - 多对一目标
在 EclipseLink 中,您可以向任何关系映射添加表达式条件,
http://wiki.eclipse.org/EclipseLink/Examples/JPA/MappingSelectionCriteria
| 归档时间: |
|
| 查看次数: |
9117 次 |
| 最近记录: |