应用程序使用NHibernate。 我有包含一组对象B的对象A. 我的配置文件中有cascade =“all-delete-orphan”。 当我在A对象中进行更改,然后保存时,对象B也在保存。 如何防止储蓄B?是否有可能暂时禁用级联? 问候 马尔钦
答案 0 :(得分:1)
您可以考虑使用IStatlessSession
使用无状态执行的操作 会话不会级联到 相关实例。收藏品是 无国籍会话忽略了。 通过无国籍人员执行的操作 会话绕过Hibernate的事件模型 和拦截器。无国籍会议 容易受到数据混叠的影响 效果,由于缺乏 第一级缓存。无国籍会议 很多是一个较低级别的抽象 更接近潜在的ADO。
答案 1 :(得分:0)
要防止级联保存,您必须从映射中删除该属性。由于映射已内置到会话工厂中,因此没有简单的方法可以暂时禁用级联。