概述
报错如下
org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save(): com.kk.entity.User
网上的很多办法都是在主键上添加 下面的注解即可解决,但是我试了很多次还是不行,仔细看了下代码,原来IDEA 自作多情的给你加了 @Id 注解到 getId() 方法上,导致Id 重复,删除这个地方即可
@GeneratedValue(strategy = GenerationType.AUTO)
完整可用代码如下:
package com.kk.entity;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import java.lang.annotation.Native;
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO) // 这里的注解一定要添加
private Long id;
private String name;
private int age;
public void setId(Long id) {
this.id = id;
}
// @Id 这里的注解一定要去掉,只保留成员变量上的注解即可
public Long getId() {
return id;
}
public User() {
}
public User(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + ''' +
", age=" + age +
'}';
}
}
再次运行即可解决问题
最后
以上就是碧蓝期待为你收集整理的springboot jpa id 自增问题解决的全部内容,希望文章能够帮你解决springboot jpa id 自增问题解决所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复