论坛首页 Java版 Hibernate

Hibernate中如何实现这个情况下的根系更新

浏览 1416 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
最后更新时间:2004-11-22
现在有一个主细关系的单据表,当我修改子表时会有这种情况,
1,明细记录有修改
2,明细记录有增加
3,明细记录有减少
现在我的做法就是先把明细部分全给删除再把页面传来的更新后的明细全给创建进去,不知道大家是怎么做的,也不知道hibernate里面是否有更好的办法去实现
   
最后更新时间:2004-11-22
如果是DTO的话,建议你做修改标记了,这种全删全加太恐怖了。比如库存,怎么可能这样做呀。

  如果可以,尽量单条操作。
   
0 请登录后投票
最后更新时间:2004-11-22
你说设置标记一般是用在主表里面,看它是否失效,我会定义它的状态,但在修改子表时肯定是不能再用标签设置状态了,那样有点不合理,表的对应关系混乱了,一个主键关连出好多没用的信息,现在就是想用户子表操作有失误想修改子表信息,当然在数据库操作时如果有异常我会让它回滚的,hibernate 里面遇到这一类的问题你们是怎么做的呢?
   
0 请登录后投票
最后更新时间:2004-11-22
这个问题和Hibernate无关,如果你的明细表还关联其他表,你这种做法是不可行的。必须仔细比对有哪些记录增加,哪些记录修改,哪些记录删除,分别处理之。
   
0 请登录后投票
最后更新时间:2004-11-24
那这样做是否可以,我先通过获取主表信息,再用Hibernate.initialize(father),
Sons=father.getSons();
再 通过DTO判断是修改还是删除或增加Sons的信息,再flush()是否可以
   
0 请登录后投票
论坛首页 Java版 Hibernate

跳转论坛:
JavaEye推荐