我有一个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);
答案 0 :(得分:3)
发现我的问题:我在我的setter中使用int而在userId中使用getter而不是Integer。
答案 1 :(得分:2)
您可能需要设置ID策略: @GeneratedValue(策略= GenerationType.IDENTITY)
你有什么应该工作,但也可能是古怪的。