【问题标题】:How to save history of each record using Spring Roo gvnix Audit如何使用 Spring Roo gvnix Audit 保存每条记录的历史记录
【发布时间】:2016-12-21 14:27:55
【问题描述】:

我想将 My Employee 详细信息保存在 Employee 表和 History 详细信息 EmployeeHistory 表中 在运行以下命令之前,我可以将记录保存在我的 Employee 表中,但不能保存在 EmployeeHistory 表中 jpa audit revisionLog --provider H-ENVERS

运行上述命令后,我无法保存 Employee 表,我也收到这样的错误 org.hibernate.engine.jdbc.spi.sqlexceptionhelper - 无效的对象名称 RevisionLogEntity

我的日志.roo

project --topLevelPackage com.employeedetails --projectName EmployeeDetails
jpa setup --database MSSQL --provider HIBERNATE --hostName Hostname --databaseName dbname --userName sa --password Admin@123!!
database introspect --schema dbo --file db_schema
database reverse engineer --schema dbo --package ~.domain --includeTables "Employee"
web mvc setup
web mvc all --package ~.web
web mvc scaffold --class ~.web.EmployeeController --backingType ~.domain.Employee
web mvc scaffold --class ~.web.EmployeeListController --backingType ~.domain.Employee --path employeelist

web mvc finder all
web mvc jquery setup
web mvc jquery all
web mvc datatables setup
web mvc bootstrap setup
jpa gvnix setup
jpa batch all
web mvc batch setup
web mvc batch all
web mvc datatables add --type ~.web.EmployeeListController --mode show
security setup
web mvc bootstrap update
jpa audit setup
jpa audit revisionLog --provider H-ENVERS
jpa audit all --package ~.domain.audit

【问题讨论】:

    标签: spring-roo gvnix


    【解决方案1】:

    我可以看到您正在使用逆向工程来生成模型。您是否创建了 Hibernate Envers 所需的表来存储修订信息?

    Hibernate Envers 需要一个新实体 RevisionLog 来存储有关存储在数据库中的所有修订(日期、用户等)的一般信息,并且每个经过审计的实体一张表来存储每个修订的实体实例值。

    gvNIX 为您创建此配置,但是,当您使用逆向工程工具时,hibernate.hbm2ddl.auto 属性应设置为none。因此,不会在 DB 上生成所需的 Envers 表。

    一个简单的解决方案可能是:

    1. 创建临时空数据库
    2. 配置您的项目以使用它
    3. hibernate.hbm2ddl.auto 设置为create
    4. 启动应用程序:Hibernate hbm2ddl将生成所需的表
    5. 停止应用
    6. 根据时态 DB 的定义在原始 DB 中创建所有 envers 表
    7. 在您的项目中恢复 DB 和 hbm2ddl 设置

    有关 Envers 的更多信息,请查看development guide

    祝你好运!

    P.D.:下次执行逆向工程配置时,别忘了从逆向工程配置中排除 envers 表!

    【讨论】:

      猜你喜欢
      • 2018-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-11
      • 1970-01-01
      • 2012-12-31
      • 1970-01-01
      相关资源
      最近更新 更多