Как связать два значения в Spring MVC раскрывающемся поле - PullRequest
0 голосов
/ 22 марта 2019

В моем классе объектов User есть поле SystemRole, которое используется для связи с другим классом.

Класс пользователя:

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private long id;
@Column(name = "username", nullable = false)
private String username;
@Column(name = "name")
private String name;
@Enumerated(EnumType.STRING)
@Column(name = "state")
private State state;
@Column(name = "password", nullable = false)
private String password;
@JoinColumn(name = "role_id", nullable = false)
@ManyToOne(fetch = FetchType.EAGER)
private SystemRole role;

Класс SystemRole:

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private long id;
@Column(name = "name")
private String roleName;
@ManyToMany(fetch = FetchType.EAGER, cascade = CascadeType.MERGE)
@JoinTable(name = "system_role_permission", joinColumns = {
        @JoinColumn(name = "id", nullable = false)},
        inverseJoinColumns = {@JoinColumn(name = "permission_id", nullable = false)})
private List<Permission> permissionList = new ArrayList<Permission>();

Поэтому, когда я обновляю конкретного пользователя, я заполняю поле SystemRole id. И затем связывание значения идентификатора с объектом пользователя. Здесь я хочу также связать roleName. Как я могу это сделать? На данный момент все значения roleName являются обязательными.

фрагмент кода в представлении:

   <div class="form-group">
        <label>Role</label>
           <form:select class="form-control"
                                     required="required" path="role.id">
              <c:forEach items="${roles}" var="role">
                  <form:option value="${role.id}" label="${role.roleName}"/>
                  <form:input value="${role.roleName}"  type="hidden" path="role.roleName"/>
              </c:forEach>
          </form:select>
   </div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...