Hibernate Envers指定hibernate_sequence所在自定义Schema方法咨询
解决Hibernate Envers指定序列Schema的问题
方法1:全局配置默认Schema
在Hibernate配置文件中设置默认数据库Schema,Hibernate会自动在指定Schema下查找序列:
- Spring Boot项目(
application.properties):spring.jpa.properties.hibernate.default_schema=custom_schema - 原生Hibernate(
hibernate.cfg.xml):<property name="hibernate.default_schema">custom_schema</property>
方法2:单独指定实体序列的Schema
若不想全局设置默认Schema,可在实体类的序列生成器注解中明确指定Schema:
@Entity @Audited @SequenceGenerator( name = "hibernate_sequence", sequenceName = "hibernate_sequence", schema = "custom_schema", allocationSize = 1 ) public class YourEntity { // 实体字段定义 }
方法3:单独配置Envers的Schema
如果是Envers审计相关的序列问题,可直接指定Envers使用的Schema:
spring.jpa.properties.org.hibernate.envers.default_schema=custom_schema
该配置会让Envers在custom_schema下创建、查找审计表及对应序列。
注意:手动创建序列后,要确保序列名称与Hibernate配置一致,同时应用拥有访问该Schema下序列的权限。
内容的提问来源于stack exchange,提问作者peter
相关产品推荐
相关产品推荐

