【发布时间】:2020-01-31 01:02:41
【问题描述】:
CREATE TABLE `user_info` (
`user_info_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`nickname` varchar(40) NOT NULL,
`email` varchar(100)
)
这是我的数据库表,数据库有A记录id=1,昵称=test,email=null
UserInfo info = new UserInfo();
info.setUserInfoId(1);
info.setEmail("hello@hotmail.com");
当我用上面的代码更新时,出现一个错误Column 'nickname' cannot be null!
我知道这是因为 JPA 必须先执行查找,但我不想在更新操作时给 JPA 所有不能为空的值。
补充说明:
假设我的前端只向我发送 ID 和电子邮件,我该如何更新它?使用 SQL 可行,但 JPA 必须要求昵称不能为空
如何解决这个问题? 谢谢
【问题讨论】:
-
你显示的不是更新操作。
-
我的错误。我添加了一些描述。
-
如果您需要更新现有实体实例,请按照 David Conrad 下面的建议检索记录。
-
这确实是一个关于修补现有实体的问题。除了我在下面的评论之外,我还遇到了:cassiomolin.com/2019/06/10/using-http-patch-in-spring
标签: java spring-data-jpa