package io.trygvis.persistence.test; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.ManyToOne; import javax.persistence.SequenceGenerator; import java.util.Date; @Entity @SequenceGenerator(name = "id_seq") public class Person { @Id public Long id; public Date birthDate; @ManyToOne public Person mother; enum Gender { MALE, FEMALE } public final Gender gender; // @ManyToOne // public Person father; // @OneToMany(mappedBy = "id") // @OrderBy("birthDate asc") // private List children = new ArrayList<>(); public Person(Long id, Date birthDate, Person mother, Gender gender) { this.id = id; this.birthDate = birthDate; this.mother = mother; this.gender = gender; } }