`
ihuashao
  • 浏览: 4722235 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

升级到Hibernate3.0的理由

阅读更多

团队升级一次不容易,总要找到足够的理由或者借口:查询语法的全面增强;真正彻底的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:核心库解析及应用》 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的中文api帮助文档 hibernate3.0的中文...

    lib-Hibernate3.0 jar包

    在Java EE应用中,Hibernate3.0版本是当时的一个重要里程碑,引入了许多新特性并提升了性能。 ### 1. Hibernate 概述 Hibernate 允许开发人员通过Java对象来操作数据库,而无需编写SQL语句。它将Java类与数据库表...

    hibernate3.0jar包

    hibernate3.0jar包

    Hibernate 3.0 JAR 驱动包

    Hibernate 3.0 的JAR 驱动包 希望对大家有用 就一点分呵呵

    hibernate-3.0.zip

    《深入剖析Hibernate 3.0:源码解析与应用实践》 Hibernate,作为一个开源的对象关系映射(ORM)框架,自其诞生以来就受到了广大Java开发者们的热烈欢迎。本篇文章将针对“hibernate-3.0.zip”这一版本进行详细讲解...

    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包

    在Hibernate 3.0版本中,这个框架已经相当成熟,提供了许多功能和优化,使得Java开发者能够更高效地处理数据持久化。 1. **对象关系映射(ORM)**: Hibernate的核心功能就是ORM,它通过XML配置文件或注解将Java类与...

    Hibernate3.0完整中文版教程.pdf

    ### Hibernate 3.0 完整中文版教程知识点解析 #### 一、概述 Hibernate 是一个开放源代码的 Java 持久层框架,它极大地简化了数据持久化的编程工作,使得 Java 开发人员可以使用面向对象的方式进行数据库操作。...

    hibernate3.0例子源码

    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

    Struts1.2、Spring2.3 和 Hibernate3.0 是经典的Java企业级开发框架组合,被称为SSH(Struts-Spring-Hibernate)集成框架。这个组合在2000年代末到2010年初非常流行,它们各自解决了不同的问题,并通过相互配合,...

    hibernate3.0 jar包

    Hibernate 3.0 是一个非常重要的Java持久化框架,它为开发者提供了ORM(对象关系映射)服务,使得在Java应用程序中操作数据库变得更加便捷。在这个jar包中,不仅包含了Hibernate的核心库,还内置了API帮助文档,对于...

    OA办公自动化管理系统(Struts1.2+Hibernate3.0+Spring2+DWR)

    公文管理、申请审批、公告管理、会议管理、权限管理、个人办公、客户管理、人事等等。项目技术:Struts1.2 + Hibernate3.0 + Spring2 +DWR。java毕业设计 jsp毕业设计 ssh毕业设计

    struts2.0+spring2.5+hibernate3.0整合框架,下载导入到eclipse下即可

    struts2.0+spring2.5+hibernate3.0整合框架,下载导入到eclipse下即可。。启动tomcat前先修改jdbc.properties文件。由于lib文件较大,所以请自行导入相关lib包。

    spring2.5+struts2+hibernate3.0JAR包集合

    标题 "spring2.5+struts2+hibernate3.0JAR包集合" 提及的是一个集成开发环境中的核心组件,这三个框架是Java Web开发中的重要工具,用于构建高效、可扩展的企业级应用程序。 Spring 2.5是Spring框架的一个版本,它...

    hibernate3.0API源文件

    Hibernate3.0允许Java类层次结构映射到数据库表,包括单表继承、联合继承和表格派生策略。 12. **延迟加载(Lazy Loading)**: 为了优化性能,Hibernate3.0支持延迟加载,即关联对象或集合只有在真正需要时才会...

    hibernate3.0.jar

    hibernate3.0.jar

    struts2.0 spring2.0 hibernate3.0整合开发快速入门-3

    通过以上内容的学习,我们可以了解到Struts2.0、Spring2.0与Hibernate3.0整合开发的基本概念和步骤。这三个框架相互配合,可以极大地提高Java Web应用的开发效率和维护性。在实际项目中,还需要结合具体的业务需求和...

    精通hibernate3.0 java数据库持久层开发实践

    精通hibernate3.0 java数据库持久层开发实践 付惊周编著 人民邮电出版社出版

    hibernate 3.0

    hibernate 包 3.0 必备

Global site tag (gtag.js) - Google Analytics