在使用jpa向数据库中添加一条数据的时候,遇到报错,报错详情为:
看错误信息是,ID标识生成异常,没有找到hibernate_sequence表,是由于id主键生成策略导致的。
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private Integer id;
主键的生成策略交给了JPA厂商,需要一张额外的表保存主键的值,而且这张表至少有一条记录,否则会出现报错,可以跨数据库。
由于生产环境对数据库权限有限制,没有创建hibernate_sequence这张自动生成的表,所以导致报错。
解决方案:
将生成策略改为id主键自增
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Integer id;
参考: