java–Spring Data JPA更新方法

java–Spring Data JPA更新方法,第1张

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

以上是内存溢出为你收集整理的java – Spring Data JPA更新方法全部内容,希望文章能够帮你解决java – Spring Data JPA更新方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1260811.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存