CREATE TABLE `user_info` (
`user_info_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`nickname` varchar(40) NOT NULL,
`email` varchar(100)
)
这是我的数据库表,数据库的记录id=1,昵称=测试,电子邮件=null
UserInfo info = new UserInfo();
info.setUserInfoId(1);
info.setEmail("hello@hotmail.com");
当我使用上述代码更新时,会出现错误列“昵称”不能为空!
我知道这是因为JPA必须先执行查找,但我不想在更新操作时给JPA所有不能为空的值。
其他说明:
假设我的前端只向我发送ID和电子邮件,我如何更新它?使用SQL是可行的,但JPA必须要求昵称不为null
如何解决这个问题?thx
更新现有记录的方法是加载记录,更新任何需要更新的列,然后保存,而不是创建新对象。
UserInfo info = userInfoRepository.findById(1);
info.setEmail("hello@hotmail.com");
userInfoRepository.save(info);
我正在尝试更新数据,据我所知,save()方法在id为空时保存实体,或者在DB中找到给定id时更新数据库中现有的实体。 但是,当我尝试保存数据时,它不会被更新: 但是,当我从数据库检索数据并更新其字段并再次保存时,它会更新: 和实体:
我目前正在重构遗留代码,以使用Android架构组件,并在一种存储库模式中设置一个房间数据库和截取请求。因此,表示层/域层要求存储库获取LiveData对象进行观察,或告诉他与服务器同步,然后删除旧的db条目,并从服务器中重新提取所有当前条目。 我已经写了同步部分的测试,所以我确信,对象被正确地获取并插入到数据库中。但是当写一个测试来观察db表的条目时(并测试对象是否被正确保存,以及在将它们放入d
问题内容: 我有一个带有某些表和视图的PostgreSQL 8.4数据库,这些表和视图本质上是对某些表的联接。我使用的NetBeans 7.2(如描述这里)来从这些观点和表导出并部署那些到Glassfish的3.1.2.2服务器基于REST的服务。 还有另一个过程可以异步更新用于构建视图的某些表中的内容。我可以直接查询视图和表,并查看这些更改已正确发生。但是,从基于REST的服务中提取时,这些值与
在数据库中新建一条数据,一个字段默认为null,我传入时也没有传值,为什么最后是-1 去更新这个字段也是更新不了为null
问题内容: 我有一张桌子,大约有17个字段。我需要在此表中执行频繁的更新。但是问题是 每次我可能只更新几个字段 。在这种情况下,编写查询以进行更新的最佳方法是什么?我正在寻找一个选项,其中 值仅在不为null时才更新 。 例如,我在数据库Say A,B,C,D中有四个字段。用户更新say D的值。所有其他值保持不变。因此,我需要一个更新查询,该查询仅更新D的值,而其他值保持不变。因此,如果我将a,
问题内容: 我正在使用()查找PostLikes表中的(PostId,UserId),如果找到该行,则用于生成delete指令并删除基础行,如果未找到该行,则用于生成insert命令并使用将该行插入表中。但是该行未插入数据库中的表中。这是我到目前为止所做的 和表 PostLikes(LikeId,PostId,UserId) 问题答案: 有几个问题: 您正在寻找重复使用相同的命令,这两个检测行是否