Hibernate3有哪些新特性

技术Hibernate3有哪些新特性小编给大家分享一下Hibernate3有哪些新特性,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Hiber

边肖会和大家分享Hibernate3的新功能,相信大部分人都不是很了解,所以分享这篇文章给大家参考。希望你看完这篇文章会有很多收获。我们一起来看看吧!

Hibernate3新特性

Hibernate3大大提高了产品的适用性,在Java1.5的基础上进行了改进,并与EJB3.0进行了集成,大大提升了功能。同时,Hibernate还分析了另一个主流的开发平台,——微软的。NET平台,因此具有更强的生命力。

与Hibernate2相比,Hibernate3新特性的变化包括三个方面:

(1)原料药的变化。API变化中最显著的变化是包名的变化,主要是因为包的根路径发生了变化。对于这一点,程序员只需要看看Eclipse中Hibernate3.jar文件中包含的类:Hibernate 3的根路径已经从Hibernate2的. sf.hibernate变成了org.hibernate因为这两个路径完全不同,所以程序员可以在同一个应用中同时使用Hibernate2和Hibernate 3。如果你想把现有的应用升级到Hibernate3,升级的* * *步骤就是把Java源程序中的net.sf.hibernate全部替换为org.hibernate。

此外,在Hibernate3的新特性中,HibernateException及其所有子类都继承了Java.lang.RuntimeException因此,编译器在编译过程中不会再次检查HibernateException。在Hibernate3中,Session接口的createSQLQuery()方法被放弃,被移到org.hibernate.classic.Session接口。Hibernate3使用一个新的SQLQuery接口来完成同样的功能。一些新的方法也被添加到UserType和CompositeUserType接口中,这些接口已经被移动到org.hibernate.UserType包中。用户定义的usertype和CompositeUserType实现类必须实现这些新方法。Hibernate3提供了一个ParameterizedType接口,以便更好地重用用户定义的类型。

这些重大变化都会对应用产生影响,程序员必须做出相应的调整,才能让基于Hibernate3的应用正常运行。

(2)元数据元数据主要是指Hibernate映射文件中各种元素和属性的使用变化。首先,Hibernate映射文件的文档类型定义,也就是DTD文件发生了变化,程序员可以从任意一个Hibernate3映射文件的头部找到。也就是说,元素中定义的URL从http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd更改为http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd.

另一个显著的变化是lazy属性的默认值由false变为true,这也是Hibernate从优化应用性能的角度做出的决定。因为当lazy=false时,Hibernate对所有字段都采用预取策略。如果程序员想采用延迟加载,必须在映射文件中手动将lazy属性值设置为true。然而,总是采用预取策略必然会造成很大的资源占用,从而降低应用程序的性能。因此,从应用的角度来看,更希望lazy的默认值为true,以便在必要时可以采用预取的检索策略。

(3)HQL查询语句Hibernate3采用了新的基于ANTLR的HQL/SQL查询翻译器,但Hibernate2的查询翻译器依然存在。在Hibernate的配置文件中,hibernate.query.factory_class属性用于选择查询翻译器。

以上就是文章《冬眠3有什么新功能》的全部内容感谢您的阅读!相信大家都有一定的了解,希望分享的内容对大家有所帮助。想了解更多知识,请关注行业资讯频道!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/136813.html

(0)

相关推荐

  • 止鼾方法,如何克服别人打呼噜的噪音

    技术止鼾方法,如何克服别人打呼噜的噪音在人生道路上,不论是遇到什么情况,什么时候,什么人,首先认准,都有缘分,世界没有无缘无故的爱,也没有无缘无故的恨。只要是机会,机遇,缘分,或者是爱人,情人,朋友,同事,同志,好友,领

    生活 2021年10月20日
  • php中for有什么作用

    技术php中for有什么作用这篇文章主要讲解了“php中for有什么作用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php中for有什么作用”吧!

    2021年11月9日
  • CSP-J 2021 题解

    技术CSP-J 2021 题解 CSP-J 2021 题解蒟蒻の得分
    作为一个学了一年多还只在入门组的高龄 \(OIer\),\(T1\) 居然写挂了……
    \(T1\) 是一道简单的数学题,考场上把问题

    礼包 2021年10月26日
  • 如何理解ASP.NET中WCF服务与ASMX服务的兼容性

    技术如何理解ASP.NET中WCF服务与ASMX服务的兼容性这期内容当中小编将会给大家带来有关如何理解ASP.NET中WCF服务与ASMX服务的兼容性,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可

    攻略 2021年11月26日
  • 容斥问题公式,四个集合的容斥原理公式怎么解决

    技术容斥问题公式,四个集合的容斥原理公式怎么解决A∪B∪C∪D=|A|+|B|+|C|+|D| |A∩B| |B∩C| |C∩A|- |A∩D| |B∩D| |C∩D| +|A∩B∩C|+|A∩B∩D| +|A

    生活 2021年10月26日
  • 怎么为SQL Server快照snapshot DB建立login访问

    技术怎么为SQL Server快照snapshot DB建立login访问这篇文章主要讲解了“怎么为SQL Server快照snapshot DB建立login访问”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟

    攻略 2021年11月9日