將隨時新增至這個文件中。
hibernate.cfg.xml中對DTD文件的引用必須改變,在Hibernate 2中是這樣:
...
<!DOCTYPE hibernate-configuration
PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">
...
在Hibernate 3中必須這樣:
...
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
...
映射文件在Hibernate 2時是這樣:
...
<!DOCTYPE hibernate-mapping
PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
...
在Hibernate 3中是這樣:
...
<!DOCTYPE hibernate-mapping
PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
...
Hibernate 2中API的頂層package名稱是net.sf.hibernate,在Hibernate 3中是org.hibernate,例如Hibernate 2中的net.sf.hibernate.SessionFactory在Hibernate 3中改為org.hibernate.SessionFactory。
取消 Session 中 find()、iterate() 方法
Session中的find()方法被取消了,必須使用Session的createQuery()建立Query實例,並使用list()方法來取代。Session的iterate()被取消了,由Query介面上的iterator()來取代,詳請看 Query.list()、iterator()。
新增 update 語句
Query query = session.createQuery("update User set age=30 where id=1");
query.executeUpdate();
新增 delete 語句
Query query = session.createQuery("delete User where age<20");
query.executeUpdate();
Hibernate 3的映射文件中新增了<sql-insert>、<sql-update>與<sql-delete>三個標籤,您可以在這三個標籤中使用SQL自定義您的INSERT、UPDATE、DELETE,也就是儲存、更新、刪除資料時的行為,詳請看 自定義 insert、update、delete。
- Expression類別雖仍可使用,但新增Restrictions類別作為Expression類別的替代。
- 新增 DetchedCriteria。
- 新增 動態模型(Dynamic Model)。
- HibernateException 變為Checked exception。
- Interceptor 新增了幾個方法。
- Lazy Initialization預設為 true,不想使用的話,必須在映射文件中設定lazy屬性為false。
- 可透過org.hibernate.tool.instrument.InstrumentTask對.class檔進行buildtime bytecode instrumentation,實現屬性的Lazy Initialization。
原文出自:http://www.caterpillar.onlyfun.net/Gossip/HibernateGossip/Hibernate2ToHibernate3.html
分享到:
相关推荐
本文主要讨论从Hibernate 2升级到Hibernate 3的过程中需要注意的关键步骤,这对于使用SSH(Spring、Struts和Hibernate)框架的项目尤其重要。 首先,升级的第一步涉及替换jar包。将旧版本的Hibernate 2.1.jar替换为...
这个`hibernate3.zip`压缩包包含了`hibernate3.jar`,它是Hibernate 3版本的核心库,包含了执行ORM(对象关系映射)所需的所有类和接口。 在Java开发中,Hibernate3主要提供了以下关键知识点: 1. **对象关系映射...
Hibernate3 是一个强大的Java持久化框架,它允许开发者将数据库操作与业务逻辑解耦,使得应用程序的开发更为简便。...但要注意,使用前需阅读并遵守jboss-LICENSE.txt中的许可条款,确保合法合规使用。
【权限管理系统Struts2+Spring+Hibernate整合升级版】是一个基于经典的Java开发框架组合——Struts2、Spring和Hibernate的高级应用。这个系统主要用于企业级的客户关系管理(CRM),并在此基础上进行了优化和增强,...
"Hibernate入门到精通" Hibernate 是一个基于Java的ORM(Object-Relational Mapping,对象关系映射)框架,它提供了一种简洁高效的方式来访问和操作关系数据库。下面是 Hibernate 的主要知识点: Hibernate 简介 ...
在Hibernate2中,Apache的DBCP连接池是官方推荐的,但在Hibernate3中,由于存在一些已知的问题,DBCP不再被推荐使用。官方建议如果在Hibernate3中必须使用DBCP,最好通过JNDI(Java Naming and Directory Interface...
这个压缩包“hibernate3必要jar包”显然是针对Hibernate3版本的,已经去除了冗余的库文件,并确保包含所有必需的组件,以确保能够成功运行一个基于Hibernate3的应用程序。 以下是一些关于Hibernate3及其核心组件的...
Hibernate3是一个广泛使用的Java对象关系映射(ORM)框架,它允许开发者用面向对象的方式处理数据库操作,极大地简化了Java应用程序与数据库之间的交互。在这个"Hibernate3的依赖包"中,包含了运行Hibernate3应用...
2. **hibernate-entitymanager-5.x.x.jar**:提供对JPA(Java Persistence API)的支持,使得可以使用注解或者XML配置来定义实体类。 3. **hibernate-jpa-2.1-api-1.0.0.Final.jar**:这是JPA 2.1的API接口定义,...
标题和描述中提到的关键信息是“hibernate3”、“依赖包”和“JDBC”。这表明我们将讨论关于Hibernate ORM框架的第三版,它所需的依赖库,以及与Java数据库连接(JDBC)的关系。Hibernate是一个流行的Java持久化框架...
2. **Hibernate3依赖包**:为了使Hibernate3能正常工作,还需要一系列的依赖库,如日志库(如log4j)、反射库(如asm或 cglib)、XML解析库(如dom4j)等。这些依赖包通常以JAR的形式存在,如`commons-collections....
解决这种问题的一个常见方法是升级Hibernate到与新版本JDK兼容的版本。Hibernate通常会发布新版本来适应新的JDK,并修复已知的兼容性问题。因此,"解决Hibernate与jdk新版本不兼容的jar问题"可能是提供了一个升级后...
整合使用最新版本的三大框架(即Struts2、Spring4和Hibernate4),搭建项目架构原型。 项目架构原型:Struts2.3.16 + Spring4.1.1 + Hibernate4.3.6。 此外,还有:log4j、slf4j、junit4、ehcache等知识点。 项目...
**标题与描述解析** 标题提及的是“hibernate3实例包”,这表明我们将讨论...同时,它也可能包含有关如何集成Hibernate到现有应用程序中的指导。对于初学者或希望深入理解Hibernate的开发者来说,这是一个宝贵的资源。
### Hibernate 连接 DB2 的实现方法与注意事项 #### 一、引言 在现代软件开发过程中,ORM(对象关系映射)框架...同时,还需要注意驱动版本的兼容性问题以及正确配置 Hibernate 相关参数,以避免潜在的异常情况发生。
**Hibernate3jar包详解** Hibernate 是一款开源的对象关系映射(ORM)框架,它极大地简化了Java应用程序对数据库的操作。Hibernate3是其第三个主要版本,发布于2006年,相较于之前的版本,它引入了许多增强功能和...
传统Javaweb SSH项目由spring3、springmvc3、hibernate3升级到spring4最后一个版本需要的jar包
使用这个"hibernate3 jar包",开发者可以享受到以下优势: - **简化数据库操作**:通过对象化的操作方式,降低了与数据库交互的复杂性。 - **提高代码可读性和可维护性**:通过映射,业务逻辑代码与数据库结构分离...
7. **性能优化**:使用Struts2和Hibernate的同时,也要注意性能优化。比如,合理使用缓存,避免频繁打开和关闭Session,使用预编译的SQL语句(PreparedStatement),以及对大数据量操作进行分批处理等。 综上所述,...