首页 > 解决方案 > 如何在 Spring Java 中编辑 pojo?

问题描述

我想编辑一个用户,我应该用另一个用户替换它吗?还是我应该只替换属性?

我有这个控制器

@PostMapping("/edit")
    public ResponseEntity<User> editUser(@RequestBody User user) {
        log.info("EDIT");
        return new ResponseEntity<User>(userServiceImpl.editUser(user), HttpStatus.OK);
    }

这是我的服务:

public User editUser(User user) {
        User owner = userRepository.findById(user.getId());
        owner=user;

        userRepository.save(user);

        return owner;
    }

类用户是

@Entity
@Table(name = "User")
public class User implements Serializable {

    private static final long serialVersionUID = -3009157732242241606L;
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private long id;

    @Column(name = "name")
    private String name;

    @Column(name = "password")
    private String password;

    @Column(name = "email")
    private String email;

我需要做类似的事情,我的意思是对 bd 进行插入查询?

@Modifying
@Query("update User u set u.firstname = ?1, u.lastname = ?2 where u.id = ?3")
void setUserInfoById(String firstname, String lastname, Integer userId);

标签: javaspringjpa

解决方案


只需保存更新的用户

public User editUser(User user) {
    return userRepository.save(user);
}

就足够了。


推荐阅读