Хорошо Я нахожусь в фазе обучения Spring Boot Но у меня есть проблема: у меня есть эти 2 таблицы
Таблица пользователей:
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Column(unique = true, length = 20)
private String username;
@Column(length = 60)
private String password;
private Boolean enabled;
@Column(unique = true)
private String email;
//private Role role;
@ManyToMany(fetch = FetchType.LAZY/*, cascade = CascadeType.ALL*/)
@JoinTable(name = "usuarios_roles",
joinColumns = @JoinColumn(name="usuario_id"),
inverseJoinColumns = @JoinColumn(name="role_id"),
uniqueConstraints = {@UniqueConstraint(columnNames = {"usuario_id","role_id"})} )
private List<Role> roles;
И другие таблицы Роли:
@Data
@Entity
@Table(name = "roles")
public class Role implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Column(unique = true, length = 20)
private String nombre;
Но я хочу обновить пользователя, но также обновить роль ролей:
Часть моего контроллера:
@PutMapping("/usuarios/{id}")
@ResponseStatus(HttpStatus.CREATED)
private Usuario update(@RequestBody Usuario usuario,@PathVariable Integer id) {
Usuario usuarioActual = usuarioservice.findById(id);
String passworEncrypt = passorEncoder.encode(usuario.getPassword());
usuarioActual.setPassword(passworEncrypt);
usuarioActual.setEmail(usuario.getEmail());
Role role=new Role();
List<Role> rol=new ArrayList<>();
usuarioActual.setRoles(rol);
return usuarioservice.save(usuarioActual);
}
Спасибо за помощь.