Я хочу создать таблицу Person с использованием JPA, необходимо, чтобы Person имел поле типа Person для представления родственной души.У человека может быть родственная душа (другого человека), но это не обязательно.
Я действительно запутался в том, как сделать мои отображения.Я не уверен, может ли ключевое слово это помочь мне здесь.
Я хотел бы понять, что будет лучшим подходом.Это то, что я сделал, но я думаю, что это не правильно.Может ли кто-нибудь помочь мне исправить это, а также объяснить, как должны работать эти отношения?
Версия с использованием аннотаций
//DEFINE OneToOne Relationships (SELF JOIN-No mandatory)
@Entity class Person {
@Id
private long identificator;
private String name;
@OneToOne(targetEntity=Person.class mappedby="this")
private Person soulmate;
}
Версия с использованием дескриптора развертывания
<persistence-unit-metadata>
<entity-mappings>
<entityclass = “packgagename.Person”>
<attributes>
<id name="identificator"/>
<column name="name"/>
<one-to-one name="soulmate" targetEntity="packgagename.Person" mappedby="this"/>
</attributes>
</entityclass>
</persistence-unit-metadata>