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)

相关推荐

  • qt 场景视图画地图(qt图片绘制区域得到点坐标)

    技术Qt如何编写地图实现省市区域图这篇文章主要介绍了Qt如何编写地图实现省市区域图,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、前言省市区域图也可以叫

    攻略 2021年12月20日
  • 赟有3种读音,赟、赟,这两个字怎么读

    技术赟有3种读音,赟、赟,这两个字怎么读赟字读音为:yūn,贇字读音为:yūn,贇字是赟字的繁体字写法赟有3种读音。 赟部首:贝 部外笔画:12 总笔画:16 五笔86&98版:YGAM 仓颉:YMBO 郑码:SOIL

    生活 2021年10月26日
  • Disruptor的共享与缓存是怎样的

    技术Disruptor的共享与缓存是怎样的这篇文章将为大家详细讲解有关Disruptor的共享与缓存是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。什么是共享下图是

    攻略 2021年10月21日
  • 注安报考条件,注安工程师需要什么条件

    技术注安报考条件,注安工程师需要什么条件一)具有安全工程及相关专业大学专科学历注安报考条件,从事安全生产业务满5年;或具有其他专业大学专科学历,从事安全生产业务满7年。(二)具有安全工程及相关专业大学本科学历,从事安全生

    生活 2021年10月20日
  • 记一次线上问题定位过程

    技术记一次线上问题定位过程 记一次线上问题定位过程出现问题,但不能快速修复系统在高峰期突然出现了大面积的core dump,通过gdbcore文件发现,是core在发送数据到另一个服务的地方,打开堆栈对

    礼包 2021年11月25日
  • 怎么使用Linux内核模块

    技术怎么使用Linux内核模块这篇文章主要介绍“怎么使用Linux内核模块”,在日常操作中,相信很多人在怎么使用Linux内核模块问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用Li

    攻略 2021年11月23日