在使用JPA中,发现JPA实现了一些方法,如find,save等,但是没有update。经过学习后,提供两种update的方式:
一、使用@Query,编写nativeSQL,通过原生的SQLupdate。优点,可以自己定制,缺点,SQL语句繁琐,不灵活,不能实现动态更改某个属性。
二、通过set方法加save方法。直接find出要修改的数据,通过set方法先把对象的某个属性更新,然后调用save方法,再次保存。
@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);
}