Spring Data JPA; save()自动增加主键错误

时间:2015-02-18 00:54:15

标签: mysql spring hibernate jpa spring-data-jpa

我有一个USER表,其中UserId为主键,在MySQL中为int并自动递增。

@Id
@GeneratedValue
@Column(name="USER_ID")
private Integer userId;

当我运行userRepository.save(user)时;我收到一条错误消息:org.springframework.beans.InvalidPropertyException:无效的属性' userId' bean类[com.mysite.model.User]:getter for property' userId'抛出异常;嵌套异常是java.lang.reflect.InvocationTargetException

如果我只是硬编码了用户ID,我就不会收到此错误。我做错了什么?

// hard code it
user.setUserId(5);
userRepository.save(user);

2 个答案:

答案 0 :(得分:3)

发现我的问题:我在我的setter中使用int而在userId中使用getter而不是Integer。

答案 1 :(得分:2)

您可能需要设置ID策略: @GeneratedValue(策略= GenerationType.IDENTITY)

你有什么应该工作,但也可能是古怪的。