微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – Spring Data JPA更新方法

我仍然在寻找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);

原文地址:https://www.jb51.cc/spring/432550.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐