Hibernate级联加载到session持久层中与事务回滚
2012-04-23 12:04
274 查看
一,级联加载到session持久层中:
当hibernate映射文件设置lazy=false的时候,即级联加载,你在java代码中load,或get一个对象的时候,其他的级联对象全都给加载到session持久化中。如果外面传 入了某一个对象(这个对象要在该方法的这个session个持久化中)的游离态的话,要想保持这个对象,方法有两种:1种,在方法里面重新开启session事务管理,然后保持,方法2:就在当前的session中用merge方法保持这个对象,merge方法是让该游离对象的熟悉值赋给持久化对象属性。
二,事务回滚:
当一个事务中出现异常时,所有数据库操作全部回滚,如果进行异常处理,即捕获这个异常则被捕获的就实现回滚,未被捕获的全部执行到数据中。
evict用于清空session持久层的一个具体对象;
clear是对所有session持久层进行清空;
flush是对session持久层里面的对象刷到数据库中。
当hibernate映射文件设置lazy=false的时候,即级联加载,你在java代码中load,或get一个对象的时候,其他的级联对象全都给加载到session持久化中。如果外面传 入了某一个对象(这个对象要在该方法的这个session个持久化中)的游离态的话,要想保持这个对象,方法有两种:1种,在方法里面重新开启session事务管理,然后保持,方法2:就在当前的session中用merge方法保持这个对象,merge方法是让该游离对象的熟悉值赋给持久化对象属性。
二,事务回滚:
当一个事务中出现异常时,所有数据库操作全部回滚,如果进行异常处理,即捕获这个异常则被捕获的就实现回滚,未被捕获的全部执行到数据中。
evict用于清空session持久层的一个具体对象;
clear是对所有session持久层进行清空;
flush是对session持久层里面的对象刷到数据库中。
相关文章推荐
- Hibernate级联加载到session持久层中与事务回滚
- Hibernate数据加载——Session.get/load
- hibernate延迟加载与OpenSessionInViewFilter
- 为什么要用Hibernate框架? 把SessionFactory,Session,Transcational封装成包含crud的工具类并且处理了事务,那不是用不着spring了?
- Spring+hibernate的session问题 声明事务管理是否起作用
- spring + hibernate + mysql 事务不回滚
- Spring使用OpenSessionInViewFilter解决Hibernate的lazy延时加载问题
- OpenSessionInViewFilter解决Hibernate延时加载问题
- [原创]java WEB学习笔记77:Hibernate学习之路---Hibernate 版本 helloword 与 解析,.环境搭建,hibernate.cfg.xml文件及参数说明,持久化类,对象-关系映射文件.hbm.xml,Hibernate API (Configuration 类,SessionFactory 接口,Session 接口,Transaction(事务))
- Hibernate延迟加载与opensessioninviewFilter
- hibernate在事务中的session.flush无效
- 【Spring十】使用OpenSessionInView解决懒加载问题及Spring管理下的session和事务
- 异常描述:hibernate懒加载中,用OpenSessionInViewFilter解决之后,同时对一个collection创建两个session访问导致异常(Illegal attempt to associate a collection with two open sessions)
- json解决hibernate中级联对象延迟加载问题net.sf.json.JSONException: org....
- Hibernate (七) session常用方法、懒加载、一级缓存
- LocalSessionFactoryBean加载Hibernate 映射的几种方式及区别
- Spring+Hibernate集成后事务与Session的一些理解。
- Hibernate数据加载——Session.get/load
- Spring使用OpenSessionInViewFilter解决Hibernate的lazy延时加载问题
- Hibernate懒加载对象在session.close()后为空