gpt4 book ai didi

java - JPA更新时数据库值not null如何解决?

转载 作者:行者123 更新时间:2023-12-02 09:28:06 34 4
gpt4 key购买 nike

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,nickname=test,email=null

UserInfo info = new UserInfo();
info.setUserInfoId(1);
info.setEmail("hello@hotmail.com");

当我用上面的代码更新时,出现错误Column 'nickname' can not be null!

我知道这是因为JPA必须先执行查找,但我不想在更新操作时给JPA所有不能为空的值。

附加说明:

假设我的前端只向我发送 ID 和电子邮件,我该如何更新它?使用SQL是可行的,但是JPA必须要求昵称不为空

如何解决这个问题?谢谢

最佳答案

更新现有记录的方法是加载记录,更新任何需要更新的列,然后保存它,不是通过创建新对象。

UserInfo info = userInfoRepository.findById(1);
info.setEmail("hello@hotmail.com");
userInfoRepository.save(info);

关于java - JPA更新时数据库值not null如何解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58189834/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com