JPA中,在调用persist()时,数据库自动增长的主键如何处理

2025-04-18 06:49:02
推荐回答(3个)
回答1:

你加事务处理了吗?
persist在事务外执行的话,不会执行insert语句
你用的什么数据库,oracle?

回答2:

在数据库里面建一个序列,插入之前先查出序列号,然后把它当id插进去

回答3:

@GeneratedValue
这个默认的id生成策略是自增的。
你在你的实体类中标记了么?类似于下面的?
private Integer id;
private String name;
private Catalog parent;
private Set childs;
@Id
@Column(name="id",unique=true,nullable=false,insertable=true)
@GeneratedValue
public Integer getId() {
return id;
}