欢迎进入Wiki » FAQ » Domain数据能进行版本控制吗?

Domain数据能进行版本控制吗?

在2014-05-26 15:54上被李小翔修改
评论 (0) · 附件 (0) · 记录 · 信息

BroFWK 已经集成(默认禁用)了 Hibernate Envers 插件,以实现数据及其附件的版本管理,详细的使用说明与示例请参考 bropen.framework.plugins.envers.EnversRevisionEntity 的 API 文档 。

启用数据版本管理后,数据库中每个领域类会自动生成一张后缀为 “_aud” 的表,以存储各个版本的数据,同时 EnversRevisionEntity 中还会保存每个版本的创建人和时间。可以通过二次开发实现版本回滚、比较与展示等功能。

启用Envers插件

默认情况下,Envers插件是被禁用了,需要在工程的 Config.groovy 中配置:

grails.plugin.envers = true

Domain事件

此外,可以在Domain中编写事件方法 onEnversInsert、onEnversUpdate、onEnversDelete 中,如果返回 Boolean.FALSE,则不会记录新版本。

注:如果 hasMany 明细数据,某种条件下不希望创建版本,则主类和明细类的 onEnversInsert 必须都返回 false,否则还是会记录版本变化。

标签: BroFramework
在2014-05-17 14:17上被李小翔创建

Copyright © 2013 北京博瑞开源软件有限公司
京ICP备12048974号