NHibernate禁用所有删除孤立 [英] NHibernate disable all-delete-orphan

查看:87
本文介绍了NHibernate禁用所有删除孤立的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

应用程序使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆