`

Hibernate4和3.0的差别

阅读更多

在hibernate4中,
AnnotationConfiguration已经过期。
对于注解配置,并没有新的类来替代它,而是将这部分功能放到Configuration类中来实现了。

 

Configuration cfg = new Configuration().configure();

  上面的语句在hibernate4中即可解析注解配置。

 

buildSessionFactory()方法过期。

创建SessionFactory的正解方法如下:

 

Configuration cfg = new Configuration().configure();
ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(cfg.getProperties()).buildServiceRegistry(); 
SessionFactory factory = cfg.buildSessionFactory(serviceRegistry);

 

 

与spring3整合

从spring3.1开始, 已经不提供Hibernate4的 HibernateDaoSupport和HibernateTemplate,而是直接使用原生的Hibernate4 API来获得session.

如管要在spring3中配置sessionFactory,或者管理事务,代码如下:

 

<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> ...
</bean>
<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>  

 注意,这里的包名为org.springframework.orm.hibernate4

 

Hibernate4之getCurrentSession和openSession

 

参见:http://zhou137520.iteye.com/blog/1630656

* 采用getCurrentSession()创建的session在commit或rollback时会自动关闭,而采用openSession()创建的session必须手动关闭 

 

sessionFactory.getCurrentSession()可以完成一系列的工作,当调用时,hibernate将session绑定到当前线程,事务结束后,hibernate将session从当前线程中释放,并且关闭session,当再次调用getCurrentSession()时,将得到一个新的session,并重新开始这一系列工作。 不需要close session了 。

 

 

分享到:
评论

相关推荐

    hibernate-configuration-3.0.dtd、hibernate-mapping-3.0.dtd

    而`hibernate-configuration-3.0.dtd`和`hibernate-mapping-3.0.dtd`是Hibernate 3.0版本中的两个核心文件,它们定义了Hibernate配置文件和映射文件的语法规则,是理解Hibernate工作原理的关键所在。 首先,我们来...

    hibernate教程+3.0API

    《Hibernate教程+3.0 API》是一份深度探讨Java持久化框架Hibernate的资源包,包含两个重要的文件:`Hibernate+3.13+api.chm` 和 `HIBERNATE.chm`。这两个CHM文件通常包含了详尽的API文档和可能的教程内容,旨在帮助...

    hibernate3.0

    《深入理解Hibernate3.0:核心库解析及应用》 ...然而,为了充分发挥Hibernate3.0的潜力,开发者还需要深入理解ORM的概念、实体关系映射、事务处理、查询优化等相关知识,以及如何结合这些库进行有效配置和调优。

    hibernate-3.0.zip

    Hibernate 3.0是Hibernate系列的一个重要版本,它在2.0的基础上进行了大量改进,增强了性能和稳定性,引入了更多的新特性。这个版本引入了对JPA(Java Persistence API)的支持,提供了更强的查询语言HQL(Hibernate...

    hibernate-mapping-3.0.dtd

    hibernate-mapping-3.0.dtd 配置后,就会在xml中进行提示

    Hibernate3.2和Spring3.0学习jar包

    【标题】"Hibernate3.2和Spring3.0学习jar包"揭示了这个压缩包包含的是两个关键的Java开发框架——Hibernate3.2与Spring3.0的核心库。这两个框架在企业级Java应用中占据着重要的地位,尤其在处理持久化层和依赖注入...

    hibernate3.0.jar

    hibernate3.0.jar

    hibernate3.0中文api

    hibernate3.0的中文api帮助文档 hibernate3.0的中文api帮助文档 hibernate3.0的中文api帮助文档 hibernate3.0的中文api帮助文档 hibernate3.0的中文api帮助文档 hibernate3.0的中文api帮助文档 hibernate3.0的中文...

    Hibernate 离线的配置方法(hibernate-mapping-3.0.dtd)

    因为Hibernate在读出hbm.xml文件时需要通过网络读取到hibernate-mapping-3.0.dtd 文件。 如果没有网络不能正常工作。 所以提供上述文件。 以及hibernate-mapping-3.0.dtd,hibernate-configuration-3.0.dtd提供下载...

    J2EE Persistence Options - JDO, Hibernate and EJB 3.0.pdf

    ### J2EE持久化选项:JDO、Hibernate与EJB 3.0 #### 概述 在《J2EE Persistence Options - JDO, Hibernate and EJB 3.0》这篇文档中,作者Sridhar Reddy深入探讨了Java 2 Platform, Enterprise Edition (J2EE)环境...

    lib-Hibernate3.0 jar包

    总结,Hibernate3.0作为Java ORM的重要里程碑,不仅简化了数据库操作,还引入了诸多改进和优化,提升了开发效率和应用性能。对于Java开发者来说,掌握Hibernate3.0及其核心概念和最佳实践是至关重要的。

    Struts 1.1、Hibernate 3.0和SQL Server 2005数据库驱动包

    Struts 1.1、Hibernate 3.0 和 SQL Server 2005 数据库驱动包是构建基于Java的企业级Web应用程序的关键组件。这些技术在2000年代中期广泛应用于开发面向服务架构(SOA)和模型视图控制器(MVC)模式的系统。 Struts...

    hibernate3.0 jar包

    在这个jar包中,不仅包含了Hibernate的核心库,还内置了API帮助文档,对于学习和使用Hibernate 3.0的人来说,无疑是一个宝贵的资源。 首先,我们要理解什么是ORM。ORM是Object-Relational Mapping的缩写,它是一种...

    hibernate3.0jar包

    hibernate3.0jar包

    hibernate 3.0 dtd

    在Hibernate 3.0中,有两个重要的DTD文件:`hibernate-configuration-3.0.dtd`和`hibernate-mapping-3.0.dtd`,它们定义了Hibernate配置文件和映射文件的结构。 `hibernate-configuration-3.0.dtd` 是Hibernate配置...

    hibernate 3.0

    hibernate 包 3.0 必备

    hibernate-configuration-3.0.dtd

    hibernate-configuration-3.0.dtd 文件,配置后 映射文件就会提示

Global site tag (gtag.js) - Google Analytics