Play! Framework 与 Hibernate Envers的整合

Play Framework 版本: 1.0.2.1
Hibernate Envers 版本: 1.2.2.ga-hibernate-3.3

 

1. 将Envers包放入Play的framework\lib\中


2. 在Application.conf文件中加入如下配置

 

 

hibernate.ejb.event.post-insert=org.hibernate.ejb.event.EJB3PostInsertEventListener,org.hibernate.envers.event.AuditEventListener
hibernate.ejb.event.post-update=org.hibernate.ejb.event.EJB3PostUpdateEventListener,org.hibernate.envers.event.AuditEventListener
hibernate.ejb.event.post-delete=org.hibernate.ejb.event.EJB3PostDeleteEventListener,org.hibernate.envers.event.AuditEventListener
hibernate.ejb.event.pre-collection-update=org.hibernate.envers.event.AuditEventListener
hibernate.ejb.event.pre-collection-remove=org.hibernate.envers.event.AuditEventListener
hibernate.ejb.event.post-collection-recreate=org.hibernate.envers.event.AuditEventListener

org.hibernate.envers.versionsTableSuffix=_V
org.hibernate.envers.revisionFieldName=ver_rev

 

不过最后两行的"org.hibernate.."配置是不起作用的,原因是Play JPAPlugin中对配置的读取只取hibernate打头的配置,代码如下:

 

// inject additional  hibernate.* settings declared in Play! configuration
cfg.addProperties((Properties) Utils.Maps.filterMap(Play.configuration, "^hibernate\\..*"));

 

自行trick一下就可以了。

 

做完如上步骤以后就可以使用Envers的功能了。



 

你可能感兴趣的:(Hibernate,ejb)