加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – Spring Data JPA更新方法

发布时间:2020-12-15 01:01:46 所属栏目:Java 来源:网络整理
导读:我仍然在寻找 Spring的Data JPA中的更新方法来更新在关系数据库中持久存在的给定Object.我只找到了解决方案,我不得不通过@Query注释指定某种UPDATE查询(与@Modifying相比),例如: @Modifying@Query("UPDATE User u SET u.firstname = ?1,u.lastname = ?2 WHE
我仍然在寻找 Spring的Data JPA中的更新方法来更新在关系数据库中持久存在的给定Object.我只找到了解决方案,我不得不通过@Query注释指定某种UPDATE查询(与@Modifying相比),例如:
@Modifying
@Query("UPDATE User u SET u.firstname = ?1,u.lastname = ?2 WHERE u.id = ?3")
public void update(String firstname,String lastname,int id);

为了构建Query,我还必须传递单个参数而不是整个对象.但这正是我想做的事情(传递整个对象).

所以,我想要找到的是这样的方法:

public void update(Object obj);

是否可以基于Spring Data JPA构建这样的更新方法?它必须如何注释?

谢谢!

解决方法

如果目标是修改实体,则不需要任何更新方法.您从数据库中获取对象,修改它,JPA自动保存它:
User u = repository.findOne(id);
u.setFirstName("new first name");
u.setLastName("new last name");

如果你有一个分离的实体并想要合并它,那么使用CrudRepository的save()方法:

User attachedUser = repository.save(detachedUser);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读