Spring 数据 JPA; save() 自增主键错误
Spring Data JPA; save() auto increment primary key error
我有一个 USER table 以 UserId 作为主键,它是 int 并在 MySQL 中自动递增。
@Id
@GeneratedValue
@Column(name="USER_ID")
private Integer userId;
当我运行userRepository.save(用户);我收到一条错误消息:org.springframework.beans.InvalidPropertyException:bean class [com.mysite.model.User] 的 属性 'userId' 无效:属性 的 Getter 'userId' 抛出异常;嵌套异常是 java.lang.reflect.InvocationTargetException
如果我只是对用户 ID 进行硬编码,就不会出现此错误。我做错了什么?
// hard code it
user.setUserId(5);
userRepository.save(user);
您可能需要设置ID策略:
@GeneratedValue(策略=GenerationType.IDENTITY)
您拥有的应该有用,但也可能很古怪。
发现我的问题:我在 setter 和 getter 中使用 int 作为 userId,而不是 Integer。
我有一个 USER table 以 UserId 作为主键,它是 int 并在 MySQL 中自动递增。
@Id
@GeneratedValue
@Column(name="USER_ID")
private Integer userId;
当我运行userRepository.save(用户);我收到一条错误消息:org.springframework.beans.InvalidPropertyException:bean class [com.mysite.model.User] 的 属性 'userId' 无效:属性 的 Getter 'userId' 抛出异常;嵌套异常是 java.lang.reflect.InvocationTargetException
如果我只是对用户 ID 进行硬编码,就不会出现此错误。我做错了什么?
// hard code it
user.setUserId(5);
userRepository.save(user);
您可能需要设置ID策略: @GeneratedValue(策略=GenerationType.IDENTITY)
您拥有的应该有用,但也可能很古怪。
发现我的问题:我在 setter 和 getter 中使用 int 作为 userId,而不是 Integer。