弹簧数据 JPA; save() 自动递增主键错误
Posted
技术标签:
【中文标题】弹簧数据 JPA; save() 自动递增主键错误【英文标题】:Spring Data JPA; save() auto increment primary key error 【发布时间】:2015-04-18 21:24:27 【问题描述】:我有一个以 UserId 作为主键的 USER 表,它是 int 并在 mysql 中自动递增。
@Id
@GeneratedValue
@Column(name="USER_ID")
private Integer userId;
当我运行 userRepository.save(user);我收到一条错误消息:org.springframework.beans.InvalidPropertyException:bean 类 [com.mysite.model.User] 的无效属性“userId”:属性“userId”的获取器抛出异常;嵌套异常是 java.lang.reflect.InvocationTargetException
如果我只是硬编码用户 ID,我不会收到此错误。我做错了什么?
// hard code it
user.setUserId(5);
userRepository.save(user);
【问题讨论】:
【参考方案1】:您可能需要设置 ID 策略: @GeneratedValue(strategy=GenerationType.IDENTITY)
你所拥有的应该工作,但也可以是古怪的。
【讨论】:
@GeneratedValue(strategy = GenerationType.AUTO)【参考方案2】:发现我的问题:我在我的 setter 和 getter 中使用 int 作为 userId,而不是 Integer。
【讨论】:
以上是关于弹簧数据 JPA; save() 自动递增主键错误的主要内容,如果未能解决你的问题,请参考以下文章