用户表跟好几个表有多对多关系,现在要做用户信息修改模块,如果直接拿一个user类,加上数据库已经存在的uid,而不去设置set集合值,会导致删除多对多中间表的数据.. 如果去设置,数据量大的话,貌似效率又不高.有一种做法是把inverse 设置成true,但是目前因为其他业务逻辑中是设置inverse=false才完成的,有没有不设置这个值而完成单纯修改表数据,而不关联修改其他关系表数据

解决方案 »

  1.   

    还有,除了往底层挖出JDBC来直接操作这个办法.
      

  2.   

    呵呵,我们以前学校学hibernate,公司不用,就给荒废了
      

  3.   

    多对多 加上 cascade = CascadeType.REMOVE
    update之前先load
      

  4.   

    每个都去设置,不然没有更新的数据就丢失了,你直接从数据库中获取user对象,然后在修改用户能在页面上修改的数据。
      

  5.   

    或者把你不想用户在修改一些数据而导致丢失另一些数据的属性字段,在对应的映射文件中设置dynamic-update=false