赞
踩
报错如下
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 +
- '}';
- }
- }

再次运行即可解决问题
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。