gpt4 book ai didi

java - Spring Data JPA 更新方法

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:43:12 24 4
gpt4 key购买 nike

我仍在寻找 Spring 的 Data JPA 中的更新方法来更新关系数据库中持久存在的给定 Object。我只找到了解决方案,在这些解决方案中,我被迫通过@Query 注释(与@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);

为了构建查询,我还必须传递单个参数而不是整个对象。但这正是我想要做的(传递整个对象)。

所以,我要寻找的是这样一种方法:

public void update(Object obj);

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

谢谢!

最佳答案

如果目标是修改实体,则不需要任何更新方法。你从数据库中获取对象,修改它,JPA 会自动保存它:

User u = repository.findOne(id);
u.setFirstName("new first name");
u.setLastName("new last name");

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

User attachedUser = repository.save(detachedUser);

关于java - Spring Data JPA 更新方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32295688/

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