NHibernate禁用all-delete-orphan

时间:2011-05-18 06:56:31

标签: nhibernate

应用程序使用NHibernate。 我有包含一组对象B的对象A. 我的配置文件中有cascade =“all-delete-orphan”。 当我在A对象中进行更改,然后保存时,对象B也在保存。 如何防止储蓄B?是否有可能暂时禁用级联? 问候 马尔钦

2 个答案:

答案 0 :(得分:1)

您可以考虑使用IStatlessSession

  

使用无状态执行的操作   会话不会级联到   相关实例。收藏品是   无国籍会话忽略了。   通过无国籍人员执行的操作   会话绕过Hibernate的事件模型   和拦截器。无国籍会议   容易受到数据混叠的影响   效果,由于缺乏   第一级缓存。无国籍会议   很多是一个较低级别的抽象   更接近潜在的ADO。

答案 1 :(得分:0)

要防止级联保存,您必须从映射中删除该属性。由于映射已内置到会话工厂中,因此没有简单的方法可以暂时禁用级联。