团队升级一次不容易,总要找到足够的理由或者借口:查询语法的全面增强;真正彻底的OR映射;性能的提升是三个的主要理由。另外,买一送一的,还有四个暂时不是理由的理由。
查询语法全面增强
HQL,Native SQL ,Criteria都有大幅增强,不再有太多无法完成需要sql辅助的地方
1.HQL语法增强
使用Antlr的作为语法引擎
支持subquery,distinct, nullif,case ,cast,having count(*)在内的绝大部分SQL语法
支持Bulk-Update,Bulk-Delete 语法
"update Customer set name = :newName where name = :oldName";
2.Native SQL增强
2.0时的Native基本上是流血上市,中看不中用的。3.0时才基本可用。
3. 非完整对象的查询结果返回Map 而不是Array.
2.0时按array[0],array[1]访问查询结果根本是无人敢用的语法,Map的好处是可以按名称取值
" select new map(goods.goodsNo as goodsNo,goods.code as code) from Goods goods"
Map goods =(Map)list.get(0);
Strng code = (String)goods.get("code");
真正的OR映射
完美支持三种O/R典型映射及其混合
discrim(整个继承树在同一个表,通过discrim列区分不同的子类)
unionclass(每个子类一个表,每个表拥有全部属性)
joinClass(每个父类每个子类各有一个表,父类的属性在父表,子类的表只包含子类的属性)
4.discrim支持formula虚拟列做标识符
不再需要一个单独的discriminator列,可以通过对其他列的计算得出子类的标识符
<discriminator type="int"
formula="CASE WHEN company is null THEN 0 WHEN company = 'JBoss' THEN 1 ELSE 2 END"/>
5.union class支持
<class name="Being" abstract="true">
<id name="id" unsaved-value="0" column="bid">
<generator class="increment"/>
</id>
<property name="identity" column="ident"/>
<union-subclass name="Human" table="aliens">
<property name="sex" column="sex"/>
</union-subclass>
</class>
关键性能升级
6.column-level lazy fecth
2.0的时候只能对one to many的列 lazy fecth,结果找一个对象经常藤连瓜瓜连藤找出10来个对象出来,很恐怖。3.0终于没有这个恶梦了。
买一送一的new feactures
1.EJB3 annotation,取代xml-base的hbm文件。
2.Handwrite CRUD SQL, 向ibatis的地盘讨饭。
3.持久化XML,除了POJO外,还支持XML的持久化,方便WebService, ESB类的应用。
4.One Class map to mutible Table,打破 one table,one object的范式。
分享到:
相关推荐
《深入理解Hibernate3.0:核心库解析及应用》 Hibernate3.0作为一个经典且广泛使用的对象关系映射(ORM)框架,极大地简化了Java开发者处理数据库操作的复杂性。这个压缩包包含了Hibernate3.0的核心组件以及其依赖...
hibernate3.0的中文api帮助文档 hibernate3.0的中文api帮助文档 hibernate3.0的中文api帮助文档 hibernate3.0的中文api帮助文档 hibernate3.0的中文api帮助文档 hibernate3.0的中文api帮助文档 hibernate3.0的中文...
在Java EE应用中,Hibernate3.0版本是当时的一个重要里程碑,引入了许多新特性并提升了性能。 ### 1. Hibernate 概述 Hibernate 允许开发人员通过Java对象来操作数据库,而无需编写SQL语句。它将Java类与数据库表...
hibernate3.0jar包
Hibernate 3.0 的JAR 驱动包 希望对大家有用 就一点分呵呵
《深入剖析Hibernate 3.0:源码解析与应用实践》 Hibernate,作为一个开源的对象关系映射(ORM)框架,自其诞生以来就受到了广大Java开发者们的热烈欢迎。本篇文章将针对“hibernate-3.0.zip”这一版本进行详细讲解...
Struts 1.1、Hibernate 3.0 和 SQL Server 2005 数据库驱动包是构建基于Java的企业级Web应用程序的关键组件。这些技术在2000年代中期广泛应用于开发面向服务架构(SOA)和模型视图控制器(MVC)模式的系统。 Struts...
在Hibernate 3.0版本中,这个框架已经相当成熟,提供了许多功能和优化,使得Java开发者能够更高效地处理数据持久化。 1. **对象关系映射(ORM)**: Hibernate的核心功能就是ORM,它通过XML配置文件或注解将Java类与...
### Hibernate 3.0 完整中文版教程知识点解析 #### 一、概述 Hibernate 是一个开放源代码的 Java 持久层框架,它极大地简化了数据持久化的编程工作,使得 Java 开发人员可以使用面向对象的方式进行数据库操作。...
hibernate3.0连接SQLServer代码简单例子,单表t_user例子,可以运行。 数据库表设计 CREATE TABLE [dbo].[t_user]( [t_id] [nvarchar](50) NOT NULL, [t_login_name] [nvarchar](50) NULL, [t_password] ...
Struts1.2、Spring2.3 和 Hibernate3.0 是经典的Java企业级开发框架组合,被称为SSH(Struts-Spring-Hibernate)集成框架。这个组合在2000年代末到2010年初非常流行,它们各自解决了不同的问题,并通过相互配合,...
Hibernate 3.0 是一个非常重要的Java持久化框架,它为开发者提供了ORM(对象关系映射)服务,使得在Java应用程序中操作数据库变得更加便捷。在这个jar包中,不仅包含了Hibernate的核心库,还内置了API帮助文档,对于...
公文管理、申请审批、公告管理、会议管理、权限管理、个人办公、客户管理、人事等等。项目技术:Struts1.2 + Hibernate3.0 + Spring2 +DWR。java毕业设计 jsp毕业设计 ssh毕业设计
struts2.0+spring2.5+hibernate3.0整合框架,下载导入到eclipse下即可。。启动tomcat前先修改jdbc.properties文件。由于lib文件较大,所以请自行导入相关lib包。
标题 "spring2.5+struts2+hibernate3.0JAR包集合" 提及的是一个集成开发环境中的核心组件,这三个框架是Java Web开发中的重要工具,用于构建高效、可扩展的企业级应用程序。 Spring 2.5是Spring框架的一个版本,它...
Hibernate3.0允许Java类层次结构映射到数据库表,包括单表继承、联合继承和表格派生策略。 12. **延迟加载(Lazy Loading)**: 为了优化性能,Hibernate3.0支持延迟加载,即关联对象或集合只有在真正需要时才会...
hibernate3.0.jar
通过以上内容的学习,我们可以了解到Struts2.0、Spring2.0与Hibernate3.0整合开发的基本概念和步骤。这三个框架相互配合,可以极大地提高Java Web应用的开发效率和维护性。在实际项目中,还需要结合具体的业务需求和...
精通hibernate3.0 java数据库持久层开发实践 付惊周编著 人民邮电出版社出版
hibernate 包 3.0 必备