hibernate 配置 本帖最后由 zuomingyu2 于 2009-12-05 22:32:19 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是不是id重复了 insert into 不了 看了半天,觉得唯一的一个疑点是:<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> 上面的红色部分应去掉。 <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可以试试 楼主,你的Album 和 Song 是个多对一,而Song 又和Singer还是个多对一,那你怎么不直接用Album封装Singer呢?那样看起来多清晰呀?你的配置文件我实在看不出来有什么问题,不过你的级联关系我没看懂,你再仔细检查下吧!你既然对Album直接save()了,但Song和Singer没有持久化,那你的级联关系可一定要配好。 Album album = new Album(); List<Song>songs = new ArrayList<Song>(); songs.add(song); album.setSongs(songs); session.save(album);你的主表是是song才对,这里不应该保存album,应该是List<Song> albums = new ArrayList< album >(); 增加多个album到albums 中song。set Album(albums );session.save(song); List的泛型问题 问三个大大的问题 SSH + FLEX 帮帮我吧。。。(有收徒的没啊?) 通过httpClient向ftp远程服务器创建目录不成功(能上传),在本机器能够成功 经理都没法解决的opencms问题 Tomcat启动时的错误(Spring) 关于实体bean 连接数据库的数据源的问题(各个大哥帮帮忙) addBatch()批量处理问题 学JAVA,需要安装什么(刚学) 请教:关于struts的问题。 奇怪问题,困扰我很久,希望高手帮忙!! 请问在struts2中如何实现页面记忆跳转 crud的问题
<key column="songID"></key>
<index column="song_singer_id"></index>
<one-to-many class="Singer" />
</list> 上面的红色部分应去掉。
<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可以试试
<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可以试试
你既然对Album直接save()了,但Song和Singer没有持久化,那你的级联关系可一定要配好。
List<Song>songs = new ArrayList<Song>();
songs.add(song);
album.setSongs(songs);
session.save(album);
你的主表是是song才对,这里不应该保存album,应该是List<Song> albums = new ArrayList< album >();
增加多个album到albums 中
song。set Album(albums );
session.save(song);