Nhibernate如何实现撤消对象保存

问题描述

大家好.我用问一下在Nhibernate里面如何取消对象的保存?由于我采用啦Nhibernate的opensessioninview.在页面的请求的结果都会调用session.flush().现在有一个问题.我在一个页面里面有一个保存对象.A页session.save(obj);session.flush();由于需求,这里一定要先保存这个对象;页请请求结束后又执行啦opensessioninview的session.flush().导致一个问题是.当A页面那个session的flush出错时.opensessioninview的session.flush().又出现同样的错误.我想当A页那个session.flush出错时.我想撤消对这个对象的保存.从而在opensessioninview结束时不会再一次报错.请问这样可以实现么?如何实现对象撤消保存?

解决方案

解决方案二:
everythingispossible.
解决方案三:
LS在灌水吗
解决方案四:
session.RollBack();

时间: 2024-12-16 12:11:58

Nhibernate如何实现撤消对象保存的相关文章

多对一保存-springmvc对象保存存在多对一关系怎么解决

问题描述 springmvc对象保存存在多对一关系怎么解决 有1个Officialdoc类,Officialdoc类有些字段是外键! Controller里传入的是Officialdoc对象,保存的时候那个主外键关系怎么处理?

ASP.NET:使用DataTable对象保存数据

asp.net|对象|数据 DataSet对象是数据表的集合(DataTables),在一个DataSet中可以存放多个DataTable.作为数据源,DataSet可以提供多个数据表,在DataSet中可以进行表的关联操作工作,同样,每个DataTable对象也可以作为数据源.下面这个实例演示了DataTable对象如何提供给DropDownList控件提供数据源的.     新建一个Web窗体,命名为DataTable_Simple.aspx,添加两个DropDownList控件,设计窗口如

[NHibernate]组件之依赖对象

目录 写在前面 文档与系列文章 组件之依赖对象 一个例子 总结 写在前面 周一至周四一直在成都出差,也一直没有更新博客了,一回到家第一件事就是扒一扒最近博客园更新的文章,然后把想看的收藏了,大概有20篇左右,包括基础的js或者jquery(快速浏览,复习基础),java方面的(主要了解实现业务的思想),asp.net webform\mvc(webform的快速浏览,mvc深入理解)等等,从昨天晚上到今天上午算是花费了7.8个小时的时间把收藏夹里面的文章看了一边. 现在就继续NHibernate

NHibernate中对同一个对象的Lazyload要设置一致

在NHibernate中出于性能的考虑,经常使用Lazyload的方式来加载关联的对象,关于什么是Lazyload,以及怎么使用,可以参见博客园中的文章,比如:http://www.cnblogs.com/lyj/archive/2008/10/28/1321494.html 常用NHibernate.ByteCode.Castle动态代理来实现Lazyload,使用该程序集会在运行时创建实体对应的代理类,如果实体使用了继承关系,并通过NHibernate来映射,那么动态代理类在类型转换时会有问

对象-保存用户ID,显示用户名

问题描述 保存用户ID,显示用户名 下面这段代码哪位大神能够给我详细解析一下,比如为什么userTemp.setId(0);userTemp.setName(""全部"");等等,这都是什么意思啊?,而且为什么创建两个对象?为什么页面上又遍历了一次? service.getObjList(userList user oid in (select id from organization)"" id"");什么意思?新手求详细易

NHibernate之旅(21):探索对象状态

本节内容 引入 对象状态 对象状态转换 结语 引入 在程序运行过程中使用对象的方式对数据库进行操作,这必然会产生一系列的持久化类的实例对象.这些对象可能是刚刚创建并准备存储的,也可能是从数据库中查询的,为了区分这些对象,根据对象和当前会话的关联状态,我们可以把对象分为三种: 瞬时对象:对象刚刚建立.该对象在数据库中没有记录,也不在ISession缓存中.如果该对象是自动生成主键,则该对象的对象标识符为空. 持久化对象:对象已经通过NHibernate进行了持久化,数据库中已经存在对应的记录.如果

[Nhibernate]对象状态

目录 写在前面 文档与系列文章 对象状态 瞬时态(Transient) 持久态(Persistent) 托管态(Detached) 对象状态转换 总结 写在前面 前面两篇文章介绍了SchemaExport工具的使用,使用该工具可以根据映射文件生成数据库架构,这篇文章将介绍nhibernate中的三种对象状态. 在程序运行过程中,使用对象的方式操作数据库的同时,必然会产生一系列的持久化对象.这些对象可能是刚刚创建并准备进行存储的,也有可能是从数据库进行查询得到的,为了区别这些对象,根据对象和当前S

关于序列化:PHP 拥有序列化方法,可以返回对象的字符串表示。但序列化只保存对象的成员数据而不包话方法

对象|数据|字符串     PHP不支持永久对象,在OOP中永久对象是可以在多个应用的引用中保持状态和功能的对象,这意味着拥有将对象保存到一个文件或数据库中的能力,而且可以在以后装入对象.这就是所谓的序列化机制.PHP 拥有序列化方法,它可以通过对象进行调用,序列化方法可以返回对象的字符串表示.然而,序列化只保存了对象的成员数据而不包话方法. 在PHP4中,如果你将对象序列化到字符串$s中,然后释放对象,接着反序列化对象到$obj,你可以继续使用对象的方法!我不建议这样去做,因为(a)文档中没有

[NHibernate]一对多关系(级联删除,级联添加)

目录 写在前面 文档与系列文章 一对多关系 一个例子 级联删除 级联保存 总结 写在前面 在前面的文章中,我们只使用了一个Customer类进行举例,而在客户.订单.产品中它们的关系,咱们并没有涉及,比如一个客户可以有一个或者多个订单,在数据库中变现为"主外键关系",有时也喜欢称为"父子关系".那么就让我们一起学习,在nhibernate中,是如何处理这种关系的吧? 文档与系列文章 [Nhibernate]体系结构 [NHibernate]ISessionFacto