NHibernate禁用所有删除孤立 [英] NHibernate disable all-delete-orphan
问题描述
应用程序使用NHibernate. 我有一个对象A,其中包含对象B的集合. 我的配置文件中有cascade ="all-delete-orphan". 当我在A对象中进行更改然后保存时,对象B也正在保存. 如何防止储蓄B?是否可以暂时禁用层叠? 问候 马辛
Application use NHibernate. I Have object A that contains set of objects B. I have cascade="all-delete-orphan" in my config file. When I do changes in A object, then save, object B is also saving. How to prevent saving B ? Is it possible to disable cascade for a moment ? regards Marcin
推荐答案
您可以考虑使用IStatlessSession
You may consider using IStatlessSession
使用无状态执行的操作 会话永远不要级联到 关联实例.集合是 被无状态会话忽略. 通过无状态执行的操作 会话绕过Hibernate的事件模型 和拦截器.无状态会话 容易受到数据混叠的影响 效果,由于缺乏 一级缓存.无状态会话 是较低级别的抽象 更接近基础ADO.
Operations performed using a stateless session do not ever cascade to associated instances. Collections are ignored by a stateless session. Operations performed via a stateless session bypass Hibernate's event model and interceptors. Stateless sessions are vulnerable to data aliasing effects, due to the lack of a first-level cache. A stateless session is a lower-level abstraction, much closer to the underlying ADO.
这篇关于NHibernate禁用所有删除孤立的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!