У меня есть 3 стола: Band, BandGenre и Genre.
Сейчас я получаю Band, чтобы присоединиться к BandGenre, и BandGenre, чтобы присоединиться к Genre.Это кажется немного большим.Я читал в разных местах (в том числе и здесь), что Hibernate может определить таблицу соединений, но я не могу понять, как это сделать.
Итак, вот мои файлы hbm.xml:
Band.hbm.xml
<class name="com.myProject.hibernate.Band" table="Band">
<id name="bandid">
<generator class="increment"/>
</id>
<property name="name"/>
<set name="bandGenres" lazy="false">
<key column="bandid"/>
<one-to-many class="com.myProject.hibernate.BandGenre"/>
</set>
</class>
BandGenre.hbm.xml (объединяемая таблица)
<class name="com.myProject.hibernate.BandGenre" table="BandGenre">
<id name="bandgenreid">
<generator class="increment"/>
</id>
<property name="bandid"/>
<property name="genreid"/>
<one-to-one name="genre" class="com.myProject.hibernate.Genre">
<!-- the <formula> gets Hibernate to join Genre on BandGenre.genreid (rather than BandGenre.bandgenreid) -->
<formula>genreid</formula>
</one-to-one>
</class>
Genre.hbm.xml
<class name="com.myProject.hibernate.Genre" table="Genre">
<id name="genreid">
<generator class="increment"/>
</id>
<property name="parentid"/>
<property name="name"/>
</class>
Чтомне сделать, чтобы моя группа присоединилась непосредственно к жанру (желательно, чтобы я мог заказать по парентиде)?