java - 如何在 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);
解决方案
只需保存更新的用户
public User editUser(User user) {
return userRepository.save(user);
}
就足够了。
推荐阅读
- python - 如何将文件传递给 unittest.mock.mock_open()?
- c# - VR CameraRig 旋转,抛出物体的问题
- ios - 与自定义 CA 证书交换证书时,iOS 12 App REST 调用失败
- flutter - 如何访问和更改列表中特定小部件的属性值
- tensorflow - 在 Tensorflow 2 中使用 tf.keras 合并层出现“无法计算输出”错误
- javascript - 模态框关闭后如何在屏幕上显示文本?
- flutter - 如何检测用户是否在颤动中打开页面
- python-3.x - 任务未能取消序列化。请确保函数的参数都是可挑选的
- sublimetext3 - Sublime Text 3- 主菜单栏自定义
- kotlin - kotlin 和验证中的嵌套 let 块