【发布时间】:2018-09-13 16:19:51
【问题描述】:
我将我的 Spring 应用程序从 Spring Boot 1.5.x 切换到 Spring Boot 2.0。我正在使用 Hibernate Envers,在切换之前我有 RevInfo 表来存储有关修订的信息。 id 是一个自动增量。
迁移完成后,Hibernate 新建了一个hibernate_sequence 表,该表没用,也没有使用。
我以这种方式自定义了我的 RevInfo bean:
@Entity
@RevisionEntity(RevInfoListener.class)
public class RevInfo {
@Id
@GeneratedValue(strategy = GenerationType.AUTO, generator = "native")
@GenericGenerator(name = "native", strategy = "native")
@RevisionNumber
private int id;
@RevisionTimestamp
private long timestamp;
private String username;
private String remoteAddress;
//omitted getters and setters
我避免扩展DefaultRevisionEntity,因为我更改了@Id @Generated value 以利用自动增量(我正在使用Mysql)。
尽管如此,使用spring.jpa.hibernate.ddl-auto: validate,即使不使用,Hibernate 也需要该表的存在。事实上,在我的配置中,Hibernate 正在使用我的自动增量 ID,并且表 hibernate_sequence 永远不会更新。
如何禁用hibernate_sequence 表的创建/需要?如果我不能,这会是一个错误吗?
【问题讨论】:
标签: spring hibernate spring-boot hibernate-envers