java如何在Spring JPA中为自动生成的ID赋值
@Entity
public class Categorie {
private Long id;
private String nom;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
public Long getId() {
return id;
}
}
我需要的是:
1)id==null(未分配id),策略为自动递增
2)身份证!=null(已分配id),用分配的值持久化实体
请帮帮我
# 1 楼答案
为此,必须删除自动生成的注释。通过从数据库手动调用序列的nextval来获取自动生成的id,并编写本机查询,然后将其分配给实体
从实体类中删除序列生成器
检查id是否存在,或者从数据库中获取它
通过调用
# 2 楼答案
通过EntityManager#merge()合并实体实例,而不是使用EntityManager#persist()持久化实体实例