4
@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 进行数据绑定。

4

0 回答 0