使用Hibernate Envers而不自动生成DDL

时间:2013-05-28 16:44:57

标签: hibernate hibernate-envers

我在我的应用程序中使用Spring + MySQL和Hibernate。 我想开始使用Envers作为审计日志,但据我了解,为了使用它,我必须启用Hibernate来创建DDL。

有没有办法在不让Hibernate创建DDL的情况下使用Envers,甚至更好,只为Envers表创建DDL?

如果没有,有没有办法告诉Hibernate将DDL导出到文件而不是DB,所以我只能拿出我需要的东西?

1 个答案:

答案 0 :(得分:4)

您无需启用自动DDL创建即可使用Envers。

您可以自己创建架构。基本上每个审计表都会获得一个带有_AUD后缀的镜像表,以及修订列。

架构生成可通过schemaexport ant任务获得,请参见此处:http://docs.jboss.org/hibernate/core/4.1/devguide/en-US/html/ch15.html#envers-generateschema

此外,您只需在本地数据库上生成DDL,并将其用作引用以应用于其他数据库。