Hibernate 3.6.0第二个RC版本-Hibernate 3.6.0 CR2下载地址发布了,关注Hibernate 3.6.0的朋友可以去Hibernate官方获取最新的Hibernate 3.6.0 CR2下载地
址下载试用。作为Hibernate目前最新的版本,Hibernate 3.6.0 CR2标志着距离Hibernate
3.6.0更加近了一步,同时我们所期待的新特性也更加全面的展示出来。而本次发布的Hibernate 3.6.0
CR2依然是作为功能的改进和bug修复版本,如果是在试用Hibernate 3.6.0的朋友建议升级到最新的Hibernate 3.6.0
CR2,同时笔者不建议在生产环境中使用Hibernate 3.6.0 CR2,毕竟距离Hibernate
3.6.0正式版仍然还有一段路要走,为了稳定起见还是保留之前的Hibernate 3.5系列更好。
Hibernate是Java开源界最流行的ORM框架之一,很多流行的开源框架都提供了针对Hibernate的整合与实现。在Java ORM界曾经一度是EJB的天下,直到Spring framework的出现几乎结束了EJB 1.0于EJB 2.0的时代也正式由于Spring Framework的发展同时也推动的Hibenate的流行。或许是在Hibernate的影响下,以前收费的TopLink这样的ORM框架也开源 了。 笔者使用Hibernate已经超过了5年的时间,Hibernate带给笔者的有快乐也有悲伤,不够再面向对象的数据库普及之前,以 Hibernate为代表的ORM框架仍然是笔者认为最佳的解决方案。而Hibernate带来的开发效率的提升以及代码的高度抽象也是笔者所最津津乐道 的。 Hibernate 3.6.0 CR2主要改进包括:
本次Hibernate 3.6.0 CR2引起笔者最大兴趣的是Envers这个东东。Envers 是来自JBoss的开源项目,Envers目标是根据对实体的设置,提供记录执行数据变更历史的功能(数据变更版本)。Envers的配置非常简单,如果 需要对某个实例进行历史数据版本记录,只需要在实例上配置@Versioned annotation即可。针对每个实体的版本的历史数据,Envers都会创建一个单独的数据表进行存储。Envers支持Hibernate和 Hibernate-entitymanager(JPA实现)。 该项目在2008年10月投入了Hibernate怀抱(看来笔者是在有点落伍了,Hibernate这么大的动静都不晓得)。也就是从 Envers 1.1.0正式成为Hibernate的一个模块。Envers的创始人之一Adam Warski宣布:Envers将完全成为Hibernate家族成员,网站,代码存储,Issue tracking等都将进入Hibernate。 而本次Hibernate 3.6.0 CR2新增的ValidityAuditStrategy原名为ValidTimeAuditStrategy,是在Hibernate 3.6.0 CR2中重构为现在的ValidityAuditStrategy。而官方提出的查询性能的大幅度提升主要是在之前的版本中通过Envers查询最新版本 时候是通过子查询实现的,而在使用ValidityAuditStrategy的之后会自动在Envers维护的表中增加一列用于标记最新版本,这样可以 大幅度简化查询,同时极高的提升效率。关注该策略的更多信息可以访问下面两个页面查看。 Hibernate 3.6.0 CR2中ValidityAuditStrategy的问题和改进: http://www.warski.org/blog/?p=239 http://www.warski.org/blog/?p=261 Hibernate 3.6.0 CR2下载地址: |