比如说我的有一个多对多的,老师和学生!!比如一个老师开始是教45个学生,我现在要做更新,老师要现在教的是43个以前和新来的2个学生,那么我可以将list(43个学生)然后list.add(新来学生1),list(新来学生2)然后直接updata吗??我想要的处理过程应该是hibernate直接对第三张表的新来的去覆盖走的2个学生,也就是去updata第三张表!!这样子效率高些!!但是网上找了 下大概了解了下hibernate维护这个关系的好像是对第三张表的记录只进行添加和删除操作或者是移除所有的相关的关联关系然后把list全部添加到关联关系表!!也就是移除不要了的关系添加新的关系!!这样子可以避免脏数据的产生!那么级联更新老师和学生这2个其他的属性并不会处理关联关系以及表!求高手指点hibernate怎么维护关联关系的

解决方案 »

  1.   

    要是一对多关系一般在多这边维护!!所以一对多应该是关联关系的更新应该是updata!
      

  2.   

    可以。
    只要Teacher那一侧的inverse没有设为true就可以了。
    还有,cascade没有设的话,记得先save两个新学生。
      

  3.   

    cascade不想设呢!!我想全手动去弄!!能给个实例么!!就写dao那一层的updata方法的全部!!谢谢了
      

  4.   

    楼主可以参考这里:
    http://hchen229.iteye.com/blog/374073
    这个例子恰恰没有用cascade