hibernate 级联更新时 为什么只能更新一个表
2012-11-01 15:33
281 查看
hibernate 级联更新时 为什么只能更新一个表,而另外一个表是直接插入了数据。。并没有更新。谁知道是为什么
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="com.accp.entity.VoteOption" table="VOTE_OPTION">
<id name="id" type="java.lang.Short">
<column name="VO_ID"/>
<generator class="sequence">
<param name="sequence">vote_seq</param>
</generator>
</id>
<property name="option" type="java.lang.String">
<column name="VO_OPTION" length="10" not-null="true"/>
</property>
<many-to-one name="subject" class="com.accp.entity.VoteSubject" lazy="false" cascade="all">
<column name="VS_ID"></column>
</many-to-one>
</class>
</hibernate-mapping>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="com.accp.entity.VoteSubject" table="VOTE_SUBJECT">
<id name="id" type="java.lang.Integer">
<column name="ID"/>
<generator class="sequence">
<param name="sequence">vote_seq</param>
</generator>
</id>
<property name="title" type="java.lang.String">
<column name="VS_TITLE" length="10" not-null="true"/>
</property>
<property name="type" type="java.lang.Short">
<column name="VS_TYPE" length="10" not-null="true"/>
</property>
<set name="option" table="VOTE_OPTION" cascade="all" inverse="true" lazy="false">
<key>
<column name="VS_ID"></column>
</key>
<one-to-many class="com.accp.entity.VoteOption"/>
</set>
</class>
</hibernate-mapping>
我这两个表是配置的双向关联 。。一对多 和 多对一 关联。也设置了级联 。
Hibernate: insert into VOTE_OPTION (VO_OPTION, VS_ID, VO_ID) values (?, ?, ?)
Hibernate: insert into VOTE_OPTION (VO_OPTION, VS_ID, VO_ID) values (?, ?, ?)
Hibernate: insert into VOTE_OPTION (VO_OPTION, VS_ID, VO_ID) values (?, ?, ?)
Hibernate: insert into VOTE_OPTION (VO_OPTION, VS_ID, VO_ID) values (?, ?, ?)
Hibernate: insert into VOTE_OPTION (VO_OPTION, VS_ID, VO_ID) values (?, ?, ?)
Hibernate: insert into VOTE_OPTION (VO_OPTION, VS_ID, VO_ID) values (?, ?, ?)
Hibernate: insert into VOTE_OPTION (VO_OPTION, VS_ID, VO_ID) values (?, ?, ?)
Hibernate: insert into VOTE_OPTION (VO_OPTION, VS_ID, VO_ID) values (?, ?, ?)
Hibernate: insert into VOTE_OPTION (VO_OPTION, VS_ID, VO_ID) values (?, ?, ?)
Hibernate: insert into VOTE_OPTION (VO_OPTION, VS_ID, VO_ID) values (?, ?, ?)
Hibernate: insert into VOTE_OPTION (VO_OPTION, VS_ID, VO_ID) values (?, ?, ?)
Hibernate: insert into VOTE_OPTION (VO_OPTION, VS_ID, VO_ID) values (?, ?, ?)
Hibernate: insert into VOTE_OPTION (VO_OPTION, VS_ID, VO_ID) values (?, ?, ?)
Hibernate: insert into VOTE_OPTION (VO_OPTION, VS_ID, VO_ID) values (?, ?, ?)
Hibernate: insert into VOTE_OPTION (VO_OPTION, VS_ID, VO_ID) values (?, ?, ?)
Hibernate: insert into VOTE_OPTION (VO_OPTION, VS_ID, VO_ID) values (?, ?, ?)
Hibernate: insert into VOTE_OPTION (VO_OPTION, VS_ID, VO_ID) values (?, ?, ?)
Hibernate: update VOTE_SUBJECT set VS_TITLE=?, VS_TYPE=? where ID=?
控制台 只 输出了一条 update语句
public String updateVoteSubject(){ //更新投票内容
int id = Integer.parseInt(ServletActionContext.
getRequest().getParameter("SubjectId"));
VoteSubject subject = new VoteSubject();
subject.setId(id);
subject.setTitle(this.subject.getTitle());
subject.setType(new Short(this.subject.getType()));
for(int i = 0; i<options.length; i++){
VoteOption option = new VoteOption();
option.setOption(options[i]);
option.setSubject(subject);
subject.getOption().add(option);
}
new VoteSubjectDaoImpl().voteUpdate(subject);
return "update";
}
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="com.accp.entity.VoteOption" table="VOTE_OPTION">
<id name="id" type="java.lang.Short">
<column name="VO_ID"/>
<generator class="sequence">
<param name="sequence">vote_seq</param>
</generator>
</id>
<property name="option" type="java.lang.String">
<column name="VO_OPTION" length="10" not-null="true"/>
</property>
<many-to-one name="subject" class="com.accp.entity.VoteSubject" lazy="false" cascade="all">
<column name="VS_ID"></column>
</many-to-one>
</class>
</hibernate-mapping>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="com.accp.entity.VoteSubject" table="VOTE_SUBJECT">
<id name="id" type="java.lang.Integer">
<column name="ID"/>
<generator class="sequence">
<param name="sequence">vote_seq</param>
</generator>
</id>
<property name="title" type="java.lang.String">
<column name="VS_TITLE" length="10" not-null="true"/>
</property>
<property name="type" type="java.lang.Short">
<column name="VS_TYPE" length="10" not-null="true"/>
</property>
<set name="option" table="VOTE_OPTION" cascade="all" inverse="true" lazy="false">
<key>
<column name="VS_ID"></column>
</key>
<one-to-many class="com.accp.entity.VoteOption"/>
</set>
</class>
</hibernate-mapping>
我这两个表是配置的双向关联 。。一对多 和 多对一 关联。也设置了级联 。
Hibernate: insert into VOTE_OPTION (VO_OPTION, VS_ID, VO_ID) values (?, ?, ?)
Hibernate: insert into VOTE_OPTION (VO_OPTION, VS_ID, VO_ID) values (?, ?, ?)
Hibernate: insert into VOTE_OPTION (VO_OPTION, VS_ID, VO_ID) values (?, ?, ?)
Hibernate: insert into VOTE_OPTION (VO_OPTION, VS_ID, VO_ID) values (?, ?, ?)
Hibernate: insert into VOTE_OPTION (VO_OPTION, VS_ID, VO_ID) values (?, ?, ?)
Hibernate: insert into VOTE_OPTION (VO_OPTION, VS_ID, VO_ID) values (?, ?, ?)
Hibernate: insert into VOTE_OPTION (VO_OPTION, VS_ID, VO_ID) values (?, ?, ?)
Hibernate: insert into VOTE_OPTION (VO_OPTION, VS_ID, VO_ID) values (?, ?, ?)
Hibernate: insert into VOTE_OPTION (VO_OPTION, VS_ID, VO_ID) values (?, ?, ?)
Hibernate: insert into VOTE_OPTION (VO_OPTION, VS_ID, VO_ID) values (?, ?, ?)
Hibernate: insert into VOTE_OPTION (VO_OPTION, VS_ID, VO_ID) values (?, ?, ?)
Hibernate: insert into VOTE_OPTION (VO_OPTION, VS_ID, VO_ID) values (?, ?, ?)
Hibernate: insert into VOTE_OPTION (VO_OPTION, VS_ID, VO_ID) values (?, ?, ?)
Hibernate: insert into VOTE_OPTION (VO_OPTION, VS_ID, VO_ID) values (?, ?, ?)
Hibernate: insert into VOTE_OPTION (VO_OPTION, VS_ID, VO_ID) values (?, ?, ?)
Hibernate: insert into VOTE_OPTION (VO_OPTION, VS_ID, VO_ID) values (?, ?, ?)
Hibernate: insert into VOTE_OPTION (VO_OPTION, VS_ID, VO_ID) values (?, ?, ?)
Hibernate: update VOTE_SUBJECT set VS_TITLE=?, VS_TYPE=? where ID=?
控制台 只 输出了一条 update语句
public String updateVoteSubject(){ //更新投票内容
int id = Integer.parseInt(ServletActionContext.
getRequest().getParameter("SubjectId"));
VoteSubject subject = new VoteSubject();
subject.setId(id);
subject.setTitle(this.subject.getTitle());
subject.setType(new Short(this.subject.getType()));
for(int i = 0; i<options.length; i++){
VoteOption option = new VoteOption();
option.setOption(options[i]);
option.setSubject(subject);
subject.getOption().add(option);
}
new VoteSubjectDaoImpl().voteUpdate(subject);
return "update";
}
相关文章推荐
- 一个java源文件为什么只能有一个public类呢?当这个类被修饰public的话,为什么源文件名必须要与类名相同呢?
- 没明白!为什么使用Tiled制作的地图?一个图层只能放一个图块
- hibernate级联操 同时向2张表插入数据(一对多的关联,一个简单的例子说明)
- Hibernate中的级联保存更新cascade错误分析
- hibernate级联保存更新、删除
- Hibernate级联保存和更新
- 为什么硬链接只能在同一个文件系统中进行?
- hibernate 为什么持久化类时必须提供一个不带参数的默认构造函数
- hibernate级联操 同时向2张表插入数据(一对多的关联,一个简单的例子说明)
- Hibernate级联保存和更新
- 三个进程共享四个同类资源,这些资源的分配与释放只能一次一个。已知每一个进程最多需要两个资源,试问,该系统会发生死锁吗?为什么?
- 2、浅谈为什么一个java源文件中只能有一个public类?
- hibernate级联操 同时向2张表插入数据(一对多的关联,一个简单的例子说明)
- hibernate annotation+spring 级联更新问题解决
- 为什么JAVA文件中只能含有一个Public类?
- android为什么不允许新开启一个线程来更新UI,而是用handler来更新界面
- hibernate一对多连接懒加载EAGER只能有一个,如果有多个报错,需要手动强制录入
- android为什么不允许新开启一个线程来更新UI,而是用handler来更新界面
- hibernate级联操 同时向2张表插入数据(一对多的关联,一个简单的例子说明)
- Hibernate级联更新有新加入数据,更新失败