Hibernate 3.6.0下载地址发布了,关注Hibernate 3.6.0的朋友可以去Hibernate官方获取最新的Hibernate 3.6.0下载地址下载试用。本次发布的Hibernate 3.6.0是Hibernate Core 3.6.0的正式版,同时也是Hibernate项目迁移到github上的第一个发布的版本。就在几天前,Hibernate官方忽然爆出一则消息一直以SVN作为版本库的Hibernate项目已经迁移至github,也就是说Hibernate的版本控制将由git来接管了。 说起git笔者貌似一直没有下定决心将svn迁移至此,一方面是由于svn基本能胜任目前的所有工作,另一个主要的原因就是将之前所有的变更记录都迁移过来,这个耗时应该是十分巨大的。同时git目前尚无十分理想的图形工具支持,因此迟迟没有行动。但git无论是速度效率,还是其优秀的分布式提交功能都让笔者爱不释手。 转回正题,本次发布的Hibernate 3.6.0正式版主要改进包括:
本次Hibernate 3.6.0 引起笔者最大兴趣的是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新增的ValidityAuditStrategy原名为ValidTimeAuditStrategy,是在Hibernate 3.6.0 中重构为现在的ValidityAuditStrategy。而官方提出的查询性能的大幅度提升主要是在之前的版本中通过Envers查询最新版本时候是通过子查询实现的,而在使用ValidityAuditStrategy的之后会自动在Envers维护的表中增加一列用于标记最新版本,这样可以大幅度简化查询,同时极高的提升效率。关注该策略的更多信息可以访问下面两个页面查看。 Hibernate 3.6.0下载地址: |