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を始めたばかりです。

基本的に、id、firstName、secondName、人の父、人の母、人の子供などの属性を定義した Person というエンティティを見ることができます。投稿にゲッター/セッターを追加しませんでした。

私の最初の質問は、数式を使用してデータのコレクションを作成することは可能ですか? それは不可能であり、インターネットには必要な仕様のデータが基本的に空であるとどこかで聞いたので、このトピックを作成しました。

2 番目の質問です。それが不可能な場合、次の状況を数式なしで説明する最善の方法は何ですか? 問題は、母親/父親の価値観を持つ子供たちを結びつけることにあります。基本的に、最終結果は、JPA がデータ バインディングを行うことになります。

4

0 に答える 0