我只想更新一些字段。例如;只是名称或密码或gmail,但当我尝试添加一个字段,其他数据被记录为空。如何解决这个问题?我应该尝试为我的仓库添加@Query吗?
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()。
1条答案
按热度按时间hivapdat1#
假设您有一个User模型,对应的仓库名称为UserRepository:
现在创建这个UserRepository的示例,如下所示:
然后更新用户数据:
注意:CrudRepository接口有**可选findById(ID id)**方法定义。由于Optional引用,如果没有用户发现它抛出异常,请使用orElseThrow()。