JPA实现更新操作两种方法:
第一种方法是:,通过Repository对象把实体根据ID查询出来,往查出来的实体对象进行set各个字段,通过Repository接口的save方法进行保存。这种方法不想更新的字段值全部设置为 NULL,所以慎用。
@Override
public User modifyUser(User user) {
int userId = user.getId();
User oldUser = userRepository.findById(userId);
oldUser.setUserTitle(user.getUserTitle());
userRepository.save(oldUser);
return userRepository.findById(userId);
}
第二种方法:第一种是通过@Query和@Modify注解进行更新,自己可在@Query注解的HQL或SQL片段中指定更新的字段
@Query(value = "update item set item_title=?1 ,item_desc=?2 where id=?3", nativeQuery = true)
@Modifying
public void updateById(String itemTitle, String itemDesc,Long id);