【发布时间】:2019-05-06 01:26:30
【问题描述】:
我想编辑一个用户,我应该用另一个用户替换它吗?还是我应该只替换属性?
我有这个控制器
@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);
【问题讨论】:
-
请再看看jpa实体状态和java对象引用。
-
首先为什么需要编辑实体?
-
@thanhngo 你应该多解释一下,我不明白你
-
@Deadpool 我需要编辑用户的性能
-
Entity应该始终反映表格,并且根据您的需要更改它不是一个好主意@yaha