67,513
社区成员
发帖
与我相关
我的任务
分享
<hibernate-mapping package="com.vo">
<class name="Song" table="Song">
<id name="songID" column="songID">
<generator class="native"></generator>
</id>
<!-- 中间省了 -->
<!-- 关系映射 -->
<list name="singers" table="song_singer" cascade="save-update">
<key column="songID"></key>
<index column="song_singer_id"></index>
<one-to-many class="Singer" />
</list>
<many-to-one name="album" class="Album" column="albumID" cascade="save-update"></many-to-one>
</class>
</hibernate-mapping>
<hibernate-mapping package="com.vo">
<class name="Singer" table="Singer">
<id name="singerID" column="singerID">
<generator class="native">
</generator>
</id>
<!-- 映射关系 -->
<many-to-one name="song" not-null="true" class="Song" column="songID" cascade="save-update"></many-to-one>
</class>
</hibernate-mapping>
<hibernate-mapping package="com.vo">
<class name="Album" table="Album">
<id name="albumID" column="albumID">
<generator class="native"></generator>
</id>
<!-- 关系映射 -->
<list name="songs" cascade="save-update">
<key column="albumID"></key>
<index column="album_song_id"></index>
<one-to-many class="Song" />
</list>
</class>
</hibernate-mapping>
Session session = null;
Song song=null;
List<Singer> singers = new ArrayList<Singer>();
try {
session = HibernateSessionFactory.getSession();
session.beginTransaction();
song = new Song();
Singer singer1 = new Singer();
Singer singer2 = new Singer();
singers.add(singer1);
singers.add(singer2);
song.setSingers(singers);
Album album = new Album();
List<Song>songs = new ArrayList<Song>();
songs.add(song);
album.setSongs(songs);
session.save(album);
session.getTransaction().commit()
<hibernate-mapping package="com.vo">
<class name="Song" table="Song">
<id name="songID" column="songID">
<generator class="native"></generator>
</id>
<!-- 中间省了 -->
<!-- 关系映射 -->
<list name="singers" table="song_singer" cascade="save-update">
<key column="songID"></key>
<index column="song_singer_id"></index>
<one-to-many class="Singer" />
</list>
<many-to-one name="album" class="Album" column="albumID" cascade="save-update" reverse="true"></many-to-one>
</class>
</hibernate-mapping>
reverse="true" 让多的一方放弃维护关系,lz可以试试 <hibernate-mapping package="com.vo">
<class name="Song" table="Song">
<id name="songID" column="songID">
<generator class="native"></generator>
</id>
<!-- 中间省了 -->
<!-- 关系映射 -->
<list name="singers" table="song_singer" cascade="save-update">
<key column="songID"></key>
<index column="song_singer_id"></index>
<one-to-many class="Singer" />
</list>
<many-to-one name="album" class="Album" column="albumID" cascade="save-update" reverse="true"></many-to-one>
</class>
</hibernate-mapping>
reverse="true" 让多的一方放弃维护关系,lz可以试试