Я бы хотел настроить это сопоставление с аннотациями вместо XML.
Вот конфигурация сопоставления (очищенная для общего пользования):
<hibernate-mapping package="com.test.model">
<class name="Parent" table="parent">
<composite-id name="id" class="ParentCompositeKey">
<key-property name="first_id" type="long" column="first_id"/>
<key-property name="second_id" type="long" column="second_id"/>
</composite-id>
<set name="parentChildren" table="parent_child" inverse="true" cascade="all">
<key on-delete="cascade">
<column name="first_id"/>
<column name="second_id"/>
</key>
<one-to-many class="Child" />
</set>
</class>
</hibernate-mapping>
Parent
имеет составной первичный ключ, состоящий из двух Long
с. Child
имеет составной первичный ключ, состоящий из составного первичного ключа родителя и дополнительного Long
. Когда я удаляю Parent
, намерение также удалить соответствующие записи Child
. (Эти дети просто не могут постоять за себя, по-видимому.)
Это однонаправленные отношения. Со стороны Child
мне не нужно выяснять Parent
.
Я немного новичок в аннотациях JPA. Я просмотрел документы и попробовал различные комбинации @OneToMany
и @JoinTable
с @JoinColumns
, чтобы решить мою проблему до сих пор.
Этот вопрос не вселяет в меня надежду, но я полагаю, что если он работает в XML, он должен быть применим к аннотациям
Любой совет приветствуется.