浏览 4624 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2013-07-25
由笔帽,笔管,笔芯组成 我可以设置 cascade = delete 那么在我要进行销毁这个水笔的业务的时候. 会连同笔帽,笔管,笔芯都删掉. 但是我并不是都需要全删掉啊 比如在我要进行资源回收业务,水笔没了,但是笔帽,笔管,笔芯 还都留着. 那咋办? 难道只有 打破关系. set笔管(null) ,set笔芯(null)这样再 delete 水笔? 难道没有语句可以动态的设置 cascade? 这是我认为Hibernate 比较烦人的地方. 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2013-10-25
哪有十全十美的产品?软件永远都不会满足全部需求。自己了解它并能用其他方式去弥补它的不足就可以了。我们很多项目都不设置hibernate级联操作,全用代码来维护。
|
|
返回顶楼 | |
发表时间:2013-10-28
看来楼主用hibernate时间不长,对hibernate的理解很有限啊!!!
|
|
返回顶楼 | |
发表时间:2013-11-21
为什么要设置delete, 设置成save-update不就不会删除级联了
|
|
返回顶楼 | |
发表时间:2014-01-19
常规做法是维护的时候设定好值就可以了,如果你是替换模式,那可以设定为删除孤儿,把笔芯换成新的笔芯,旧的因为没哟引用就被删掉了哦。
|
|
返回顶楼 | |
发表时间:2014-02-19
应该没有其他方法。你可以不用级联,在保存水笔对象的时候,直接用他们的id与水笔进行关联
|
|
返回顶楼 | |
发表时间:2014-03-11
但是我在 业务1,2,3,4,5 的时候需要 cascade = delete
我在 业务6,7,8,9,10 的时候需要 cascade = none 我在 业务11,12,13,14,15 的时候需要 cascade = insert,update 怎么破? |
|
返回顶楼 | |
发表时间:2014-03-11
px96004 写道 但是我在 业务1,2,3,4,5 的时候需要 cascade = delete
我在 业务6,7,8,9,10 的时候需要 cascade = none 我在 业务11,12,13,14,15 的时候需要 cascade = insert,update 怎么破? 你这个已经是属于业务逻辑的范畴了。 比如10年以上的笔就是直接全部销毁,5年以上可以留个笔管,5年以下全留。 这就很明显是因为业务而导致的,我相信换谁来设计hibernate都不会有动态cascade出来的吧。 解决方法肯定就是只能自己写了,不管用if还是什么策略模式,反正是根据业务逻辑处理了 |
|
返回顶楼 | |
发表时间:2014-04-27
这种情况一般是写HQL了。
|
|
返回顶楼 | |
发表时间:2014-04-28
且学且珍惜,得认学习真正消化
|
|
返回顶楼 | |