Как добавить из формы HTML добавить роль в set?
У меня обычное учебное приложение CRUD. Как мне получить роль в поле Set roles из формы?
@Entity
@Table(name = "users")
public class User implements UserDetails, Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
@Column (name = "name")
private String firstName;
@Column(name = "age" )
private int age;
@Column(name = "lastname")
private String lastName;
@Column(name = "mail")
private String mail;
@Column(name = "password")
private String password;
@Transient
private String roleForHTML;
@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "users_roles",
joinColumns = @JoinColumn(name = "user_id"),
inverseJoinColumns = @JoinColumn(name = "roles_id"))
private Set<Role> roles;
Я для того чтобы получать эту роль из формы завел стринговое поле roleForHTML Как раз потому что не могу найти способ как мне из формы в поле Set добавить роль.
Вот так выглядит форма (ее часть) и стринговые значения получаю.
</div>
<div class="form-group">
<label for="passwordNewUser"><b>Password</b></label>
<input id="passwordNewUser" type="password"
class="form-control form-control-sm"
placeholder="Password" name="password">
div>
<div class="form-group">
<label><b>Role</b></label>
<select multiple class="form-control form-control-sm" name="roleForHTML"
//Есть какой-то способ добавить роль сразу в set, ментор говорит что это уж слишком костыльно?
id="exampleFormControlSelect">
<option value="ADMIN">ADMIN</option>
<option value="USER">USER</option>
</select>
</div>
Обрабатывю форму JS
$(document).on("click", "#btnNewUser", function () {
let user =$("#formAddUser").serialize();
$.ajax({
url: "/restAdmin/addUser",
type: "POST",
data: user,
timeout: 3000,
success: function (){
getAllUser()
$('#home-tab').trigger('click');
}
})
$("input[id*='NewUser']").val('');//все input с id со словами newUser очищаются
})```