Struts2 +Sping3.0+hibernate 3.2我有Person 表和Order 表。并且两者是一对多,多对一的双向关联。
我想在JSP页面中实现关联的增删改查。例如,我查询每一个Person时,都能查到对应的Order表中的数据 。
在关联的时候有什么要注意的吗???我是新手,请各位前辈耐心的帮帮小弟。不胜感激!!!

解决方案 »

  1.   

    要注意, 需要在多的那一方的的set中配置lazy = false, 否则查询的时候会抛一个延迟加载的异常.!
    还需要配置cascade=all cascase是增删改的级联!  设置inverse=true.! 交给对方管理.!
    这样下来  实现crud没什么问题了
      

  2.   

    主要就是映射文件的配置和bean类的设计了。这里弄好了,页面上就不存在什么问题
    例子的话网上多的是。。
      

  3.   

    在JSP页面中我应该如何进行CRUD 呢?如何在新境/修改Person 时,一次性多条增加/删除Order?
      

  4.   

    这个可以用js去实现,页面上用js将多选的id传到action中,在action中进行逻辑处理。运用循环删除
      

  5.   

    你可以查看一下:lazy和inverse
    lazy是对延迟加载的配置问题
    inverse是对关系的维护的问题的配置。一般来说我们都把关系的维护放在多的那一端,应为放在一的那一端对有在console中多出来许多update语句会增加系统的工作量。
    你可以看一下在多的端和在一的一段的区别。
      

  6.   

    配置cascade=all, Person类里面有个set属性, 你配置了级联以后,sava Person的时候,会级联的把你set里面的对象全部save进去的.!
      

  7.   

    次性多条增加/删除Order.可是使用批量。写个循环。
      

  8.   

    哪位前辈能给我大概写一个JSP页面???展示一下怎么在JSP页面中新增/更新一个Person 记录的同时,增加三条Order记录???我这样写了。但是每添加一条user 的时候 ,oerder.address总是会全部写到同一条oeder里。而不是分三条记录写到oeder里。怎么才能让它分三条写进oeder里呢? 请各位前辈帮一下忙<s:form action="save" method="post">
    <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>
      

  9.   

    不明白楼主是什么意思?为什么增加一个person对象的同时要增加三个order对象?
      

  10.   


    我就是想为person 添加多个order 一个人有多个定单.每个定单都是一条新的order 记录,这样设计不对吗?
    这不问题就来出来了吗?那PersonA 有三个定单,那我怎么添加呢?
      

  11.   

    建立一对多,多以一的配置,主意在一的一方设定inverse=true
    cascade=all
      

  12.   

    啊...弄了一个晚上....又报这个错误....怎么解决啊????
    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]