我想在员工表和历史详细信息EmployeeHistory表中保存我的员工详细信息 在运行以下命令之前,我能够将记录保存在Employee表中,但不能保存在EmployeeHistory表中 jpa audit revisionLog - 提供者H-ENVERS
运行上面的命令后,我无法保存Employee表,我也收到这样的错误 org.hibernate.engine.jdbc.spi.sqlexceptionhelper - 无效的对象名称RevisionLogEntity
我的log.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

答案 0 :(得分:1)
我可以看到您正在使用逆向工程来生成模型。您是否创建了Hibernate Envers所需的表来存储修订信息?
Hibernate Envers需要一个新的实体RevisionLog
来存储有关存储在DB中的所有修订(日期,用户等)的一般信息,以及每个实体审计的一个表,以存储每个修订的实体实例值。
gvNIX为您创建此配置,但是,当您使用逆向工程工具时,hibernate.hbm2ddl.auto
属性应设置为none
。因此,不会在DB上生成所需的Envers表。
一个简单的解决方案可能是:
hibernate.hbm2ddl.auto
设为create
有关Envers的更多信息,请查看development guide
祝你好运!P.D。:下次执行时,不要忘记从逆向工程配置中排除envers表!