我在我的应用程序中使用Spring + MySQL和Hibernate。 我想开始使用Envers作为审计日志,但据我了解,为了使用它,我必须启用Hibernate来创建DDL。
有没有办法在不让Hibernate创建DDL的情况下使用Envers,甚至更好,只为Envers表创建DDL?
如果没有,有没有办法告诉Hibernate将DDL导出到文件而不是DB,所以我只能拿出我需要的东西?
答案 0 :(得分:4)
您无需启用自动DDL创建即可使用Envers。
您可以自己创建架构。基本上每个审计表都会获得一个带有_AUD后缀的镜像表,以及修订列。
架构生成可通过schemaexport ant任务获得,请参见此处:http://docs.jboss.org/hibernate/core/4.1/devguide/en-US/html/ch15.html#envers-generateschema
此外,您只需在本地数据库上生成DDL,并将其用作引用以应用于其他数据库。