如何在自定义RevisionEntity中使用“org.hibernate.envers.default_schema”

时间:2017-04-24 12:49:36

标签: hibernate hibernate-envers

我正在使用hibernate-envers 4.2.8并创建了我自己的CustomRevisionEntity来添加进行此类更改的用户

@Entity
@RevisionEntity(CustomRevisionEntityListener.class)
@Table(name = "REVINFO")
public class CustomRevisionEntity {
...
}

我通过添加

更改了审核表的架构
<prop key="org.hibernate.envers.default_schema">myschema_audit</prop>

到我的应用程序上下文。

审核表都是在架构myschema_audit中创建的,但遗憾的是REVINFO表仍然是在默认架构myschema中创建的。

这是因为我的@Table注释?我是否必须添加schema属性?如果是这样,我如何在该注释中使用相应的hibernate属性?

我试图省略@Table注释,但根本没有创建REVINFO表。

如何在REVINFO中创建myschema_audit表?

1 个答案:

答案 0 :(得分:0)

If you omit the @Table annotation, it likely will be created as CustomRevisionEntity or similar based on the naming strategy used by ORM when a @Table annotation is not present.

By specifying @Table(name = "REVINFO", schema = "myschema_audit"), that should properly place the entity in the right schema with the desired name of REVINFO.

HTH.