@Entity
@Table(name = "Person")
public class Person {
@Id
private Long id;
private String firstName;
private String lastName;
@ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name="address_id", referencedColumnName="id")
private Address address;
@ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name="mother", referencedColumnName="id")
private Person mother;
@ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name="father", referencedColumnName="id")
private Person father;
@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@Formula(value="(SELECT DISTINCT FROM PERSON as p WHERE p.father=id OR p.mother=id)")
private Collection<Person> children;
//...
}
问候 Stackoverflow 的人们!
我刚开始使用 Spring 和 JPA。
基本上,您可以看到一个名为 Person 的实体,我在其中定义了以下属性,例如 id、firstName、secondName、person 的父亲、person 的母亲和 person 的孩子。没有在帖子中添加 getter/setter。
我的第一个问题是,是否可以使用公式来创建数据集合?在某处我听说这是不可能的,而且 Internet 基本上没有所需规格的数据,这就是我创建这个主题的原因。
第二个问题,如果不可能,那么在没有公式的情况下描述以下情况的最佳方法是什么?问题在于将孩子与母亲/父亲的价值观联系起来。基本上最终结果应该是 JPA 进行数据绑定。