@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 がデータ バインディングを行うことになります。