Struts2 +Sping3.0+hibernate 3.2我有Person 表和Order 表。并且两者是一对多,多对一的双向关联。
我想在JSP页面中实现关联的增删改查。例如,我查询每一个Person时,都能查到对应的Order表中的数据 。
在关联的时候有什么要注意的吗???我是新手,请各位前辈耐心的帮帮小弟。不胜感激!!!
我想在JSP页面中实现关联的增删改查。例如,我查询每一个Person时,都能查到对应的Order表中的数据 。
在关联的时候有什么要注意的吗???我是新手,请各位前辈耐心的帮帮小弟。不胜感激!!!
还需要配置cascade=all cascase是增删改的级联! 设置inverse=true.! 交给对方管理.!
这样下来 实现crud没什么问题了
例子的话网上多的是。。
lazy是对延迟加载的配置问题
inverse是对关系的维护的问题的配置。一般来说我们都把关系的维护放在多的那一端,应为放在一的那一端对有在console中多出来许多update语句会增加系统的工作量。
你可以看一下在多的端和在一的一段的区别。
<table><caption>客户管理</caption>
<tr>
<td>
<s:textfield name="user.id" label="ID" />
</td>
</tr>
<tr>
<td>
<s:textfield name="user.name" label="Name" />
</td>
</tr>
<tr>
<td>
<s:textfield name="user.pass" label="Pass" />
</td>
</tr>
<tr>
<td>
<s:textfield name="oerder.address" label="Address" />
</td>
</tr> <tr>
<td>
<s:textfield name="oerder.address" label="Address" />
</td>
</tr>
<tr>
<td>
<s:textfield name="oerder.addresss" label="Address" />
</td>
</tr>
<tr>
<td colspan="2">
<s:submit value="提交" />
<s:reset value="重填" />
</td>
</tr>
</table>
</s:form>
我就是想为person 添加多个order 一个人有多个定单.每个定单都是一条新的order 记录,这样设计不对吗?
这不问题就来出来了吗?那PersonA 有三个定单,那我怎么添加呢?
cascade=all
org.springframework.orm.hibernate3.HibernateSystemException: a different object with the same identifier value was already associated with the session: [com.jibao.beans.Order#26];
nested exception is org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [com.jibao.beans.Order#26]