【发布时间】:2018-02-08 13:44:04
【问题描述】:
我在liquibase 更改日志中定义了一个序列,但看起来Hibernate 在插入实体时忽略了它。
Liquibase 中定义的序列如下所示。
<createSequence cycle="false" incrementBy="1"
startValue="1" maxValue="9223372036854775807" minValue="1"
sequenceName="seq_vehicle" />
在实体类中。
@Entity
@Table(name = "VEHICLE")
public class Vehicle {
@Id
@Column(name = "ID")
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "VEHICLE_SEQ")
@SequenceGenerator(name = "VEHICLE_SEQ", sequenceName = "SEQ_VEHICLE")
private Long id;
我也将此属性添加到hibernate.cfg.xml
<property name="hibernate.id.new_generator_mappings">false</property>
问题在于,每当将新实体插入数据库时,它都会忽略 Liquibase 序列,并从 50 开始,并为任何新插入增加 50。我该如何解决?
【问题讨论】:
-
尝试将序列名称小写:
sequenceName = "seq_vehicle"on@SequenceGenerator