java 使用Spring Data JPA存储库仅更新Sping Boot 中的特定字段的正确方法是什么?

wn9m85ua  于 2023-06-04  发布在  Java
关注(0)|答案(1)|浏览(116)

我只想更新一些字段。
例如;只是名称或密码或gmail,但当我尝试添加一个字段,其他数据被记录为空。如何解决这个问题?我应该尝试为我的仓库添加@Query吗?

hivapdat

hivapdat1#

假设您有一个User模型,对应的仓库名称为UserRepository

public interface UserRepository extends CrudRepository<User, Long> {}

现在创建这个UserRepository的示例,如下所示:

@Autowired
private UserRepository userRepo;

然后更新用户数据:

var user = userRepo.findById(id).orElseThrow();
user.setName(name); // password or email
userRepo.save(user);

注意:CrudRepository接口有**可选findById(ID id)**方法定义。由于Optional引用,如果没有用户发现它抛出异常,请使用orElseThrow()。

相关问题