@Entity
@Data
@Table(name = "PERSON")
@SequenceGenerator(name="PersonSeq",sequenceName="PERSON_ID")
public class Person {
//主键自增长
@GeneratedValue(generator="PersonSeq")
@Id
private Long id;
private String name;
private Integer age;
}
原本代码是这样的,数据库里建了一个PERSON_ID的序列,ID作为主键。插入数据50条左右就会报错,观察数据库ID,发现很多ID值竟然小于序列设置的最小值。
解决办法:
@SequenceGenerator(name="PersonSeq",sequenceName="PERSON_ID",allocationSize=1)
加入allocationSize=1属性后问题解决。