日期:2014-05-17  浏览次数:20585 次

Hibernate 保存数据问题本人菜鸟
一对多映射 想要在一的一端,通过Set集合保存2个多的一端的对象(两个对象中的数据不一样)

实体
private Set <Vote_option> set = new HashSet<Vote_option>();

映射文件
<set name="set" inverse="true" cascade="all" >
<key column="vsid" update="true" />
<one-to-many class="entity.Vote_option" />
</set>

控制台语句
Hibernate: select seq_vsid.nextval from dual
Hibernate: select seq_vid.nextval from dual
Hibernate: insert into Vote_subject (title, type, vsid) values (?, ?, ?)//一的一端插入语句
Hibernate: insert into Vote_option (options, vsid, orders, vid) values (?, ?, ?, ?)//多的一端插入语句
Hibernate: update Vote_option set options=?, vsid=?, orders=? where vid=?

保存两个多的一端数据,在插入第二条多的一端数据时就把第一条update了



------解决方案--------------------
在每个insert update之后 ,session.flush()