Hibernate(3)——实例总结Hibernate对象的状态和ThreadLoacl封闭的session

就可以让该方法的原子性得到保证。

  4)由于3)的方式应用十分普遍,用spring AOP 对 service 层进行事务控制就更简单了,上面三行代码甚至都不必写。

 

注意:永远不在DAO的方法内做开启session、打开事务、提交事务、释放session这些事,一般来说这不是什么好习惯。一般交给Spring AOP 容器去做事务的管理。

 

  能否不使用事务保存对象

  Hibernate3.3为了提倡大家使用事务,把默认的setAutoCommit设为false,所以,不使用事务也可以实现对象保存,只是Hibenate并不推荐这么做。

 

辛苦的劳动,转载请注明出处,谢谢……http://www.cnblogs.com/kubixuesheng/p/5263940.html

时间: 2024-10-26 17:39:06

Hibernate(3)——实例总结Hibernate对象的状态和ThreadLoacl封闭的session的相关文章

一口一口吃掉Hibernate(八)——Hibernate中inverse的用法

        一.Inverse是hibernate双向关系中的基本概念.inverse的真正作用就是指定由哪一方来维护之间的关联关系.当一方中指定了"inverse=false"(默认),那么那一方就有责任负责之间的关联关系,说白了就是hibernate如何生成Sql来维护关联的记录!         Hibernate仅仅按照主控方对象的状态的变化来同步更新数据库.按照原来的映射文件,people.getAddresses().add(address),即主控方对象的状态发生了改

Hibernate中Session的缓存及对象的状态

对于session这个接口的学习可以说是最痛苦也是最复杂的,因为它所涉及的方面太多了,一些隐藏的机制也很多,谁让它是Central API呢. 对于它的几个最基本的方法如save().delete().flush()等的学习都花了我一定的时间.在深入了解这些这些方法前,了解session的缓存机制以及Hibernate中Java对象的状态对我们是很有帮助的. 一.Session的缓存 Java是纯面向对象的语言,因此不可能像C语言那样直接操纵内存,例如声明一段可用的内存空间.在Java里面,缓存

JSF+Spring+Hibernate的实例讲解

js 使用JavaServer Faces(JSF).Spring Framework和Hibernate建立一个真实的Web应用程序内容概要使用JSF建立一个真实的Web应用程序不是没有意义的任务,这篇文章介绍了如何将JSF与Sping Framework和Hibernate集成,并且给出了使用这些技术建立这个真实的Web应用程序的最佳实践和设计指导 JavaServer Faces(JSF)技术是J2EE应用程序的一个新的用户接口框架,它非常适合基于MVC(Model-View-Contro

浅谈hibernate+入门实例

    Hibernate是对jdbc进一步的封装,随着项目的开展,小编开始接触到这个概念,一开始接触的时候并没有觉得hibernate有多神秘,没有进一步的研究,只是简单的知道她是对jdbc的进一步的封装,可是这并不是学习的目的,到了目前这个学习的阶段,所有的知识都应该精益求精,而不仅仅是停留在知道和使用这个层面上,那么hibernate是什么?她是干什么的?为什么会出现hibernate?她又有着怎么样的优缺点呢?今天这篇博文小编就从这几个方面对hibernate进行一个简单的总结,希望对有

深入解析Java的Hibernate框架中的持久对象_java

一.持久对象生命周期应用程序在使用Hibernate框架后,创建的持久对象会经历一整套生命周期来完成数据库的操作,其中主要的三个状态分别是瞬态(Transient).持久化(Persistent).脱管(detached).这三种状态的转换是能够在应用程序中控制的,如下图: 为了能清楚的了解这几种状态,这里使用一个实例来查看下这几种状态下对象的不同,下面状态内的代码,具体步骤如下: (1)创建Hibernate_session程序集,并添加像相应的jar包: (2)配置Hibernate,添加相

hibernate批量操作实例详解_java

本文实例讲述了hibernate批量操作的方法.分享给大家供大家参考,具体如下: Hibernate的批量处理 Hibernate完全以面向对象的方式来操作数据库,当程序里以面向对象的方式操作持久化对象时,将被自动转换为对数据库的操作.例如调用Session的delete()方法来删除持久化对象,Hibernate将负责删除对应的数据记录:当执行持久化对象的set方法时,Hibernate将自动转换为对应的update方法,修改数据库的对应记录. 问题是如果需要同时更新100 000条记录,是不

在Hibernate框架中编写持久对象类实现外键关联的几点注意事项

关系数据库系统本身就比较复杂,加上Hibernate的O/R映射层,复杂度加重了,很容易出现问题,本人将最近遇到的问题和解决方法做一个总结,整理在下面的一系列文章中 正确理解Hibernate的聚合类型(collection)的使用 在Hibernate中正确实现关联关系中的级联操作(cascading) 在Hibernate框架中编写持久对象类实现外键关联的几点注意事项 本文是第三篇,讲解在one-to-many(一对多)关联关系中的对象类的几个关键方法的实现.主要是equals(),hash

myeclipse下hibernate入门实例介绍

myeclipse下hibernate初步实例 说明:本例采用myeclipse+sqlserver2000 hibernate版本为3.0. 数据库驱动为:jtds-1.0.2. 1.配置myeclipse环境(eclipse-SDK- 3.1.1+myeclipse4.1.1GA_E3.1). 2.配置好sqlserver2000数据库:建立数据库:goto . 表 test_products CREATE TABLE [dbo].[test_products] ( [id] [int] I

hibernate Annotation 注解形式 实例 事务 hibernate.cfg.xml

实体类: import javax.persistence.Entity; import javax.persistence.Id; @Entity public class foo { private int id; private String name; private String total; @Id public int getId() { return id; } public void setId(int id) { this.id = id; } public String g