如何把Hibernate2.1升级到Hibernate3.0

http://tech.ddvip.com   2007年07月05日    社区交流

内容摘要:本文描述了Hibernate3.0版本的新变化,Hibernate3.0版本的变化包括的三个方面

  尽管Hibernate 3.0 与Hibernate2.1的源代码是不兼容的,但是当Hibernate开发小组在设计Hibernate3.0时,为简化升级Hibernate版本作了周到的考虑。

  对于现有的基于Hibernate2.1的Java项目,可以很方便的把它升级到Hibernate3.0。

  本文描述了Hibernate3.0版本的新变化,Hibernate3.0版本的变化包括三个方面:

  (1)API的变化,它将影响到Java程序代码。

  (2)元数据,它将影响到对象-关系映射文件。

  (3)HQL查询语句。

  值得注意的是, Hibernate3.0并不会完全取代Hibernate2.1。在同一个应用程序中,允许Hibernate3.0和Hibernate2.1并存。

  1 Hibernate API 变化

  1.1 包名

  Hibernate3.0的包的根路径为: “org.hibernate” ,而在Hibernate2.1中为“net.sf.hibernate”。这一命名变化使得Hibernate2.1和Hibernate3.0能够同时在同一个应用程序中运行。

  如果希望把已有的应用升级到Hibernate3.0,那么升级的第一步是把Java源程序中的所有“net.sf.hibernate”替换为“org.hibernate”。

  Hibernate2.1中的“net.sf.hibernate.exdivssion”包被改名为“org.hibernate.criterion”。假如应用程序使用了Criteria API,那么在升级的过程中,必须把Java源程序中的所有“net.sf.hibernate.exdivssion”替换为“org.hibernate.criterion”。

  如果应用使用了除Hibernate以外的其他外部软件,而这个外部软件又引用了Hibernate的接口,那么在升级时必须十分小心。例如EHCache拥有自己的CacheProvider: net.sf.ehcache.hibernate.Provider,在这个类中引用了Hibernate2.1中的接口,在升级应用时,可以采用以下办法之一来升级EHCache:

责编:豆豆技术应用

正在加载评论...