Hibernate Envers-REVINFO表不';不存在

Hibernate Envers-REVINFO表不';不存在,hibernate,hibernate-envers,Hibernate,Hibernate Envers,我使用的是Hibernate 4.3.6,我尝试通过将@Audited注释添加到一个@Entity类中来利用Envers功能。(enversjar-hibernate-envers-4.3.6.Final.jar在我的类路径上。) 当我运行代码(在没有@Audited注释的情况下可以很好地持久化)时,我得到一个org.hibernate.exception.sqlgrammareexception: Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQL

我使用的是Hibernate 4.3.6,我尝试通过将@Audited注释添加到一个@Entity类中来利用Envers功能。(enversjar-hibernate-envers-4.3.6.Final.jar在我的类路径上。)

当我运行代码(在没有@Audited注释的情况下可以很好地持久化)时,我得到一个org.hibernate.exception.sqlgrammareexception:

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'dbname.REVINFO' doesn't exist
我没有看到任何关于必须创建REVINFO表的文档,因此我假设它将自动创建,但这似乎没有发生。我错过什么了吗

(如果我按照这里描述的模式手动创建它,那么我会得到一个异常,即*\u AUD不存在。我想我对所有*\u AUD表都有相同的问题。)

谢谢,
鲁汶

是的,见下文:第7章。您需要REV INFO表和每个实体的审计表,默认情况下命名为{entity name}\u AUD,尽管这是可配置的。要自动生成它们,您需要启用Hibernate模式生成

我通常对测试数据库运行模式生成,然后使用一些数据库工具将更改同步到应用程序数据库

有关可用于生成DDL的Ant任务的详细信息,请参见此处:


请重新检查您添加的
更新spring配置文件中的
属性

我也有同样的问题,只是通过添加上面的属性来解决它


谢谢。

谢谢,艾伦!这真的很有帮助。好的,很好。您应该接受答案:这是Envers文档的旧位置。你应该用这个