У меня есть базовое приложение SpringBoot 2.0.4.RELEASE.используя Spring Initializer, JPA, встроенный Tomcat, шаблонизатор Thymeleaf и пакет в качестве исполняемого файла JAR.
У меня есть эта сущность:
@Entity
@Table(name="t_user")
public class User implements Serializable, UserDetails {
@OneToMany(mappedBy = "user", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@JsonIgnore
private Set<UserRole> userRoles = new HashSet<>();
public Set<UserRole> getUserRoles() {
return userRoles;
}
public void setUserRoles(Set<UserRole> userRoles) {
this.userRoles = userRoles;
}
}
и эта:
@Entity
@Table(name = "t_user_role")
public class UserRole implements Serializable {
/** The Serial Version UID for Serializable classes. */
private static final long serialVersionUID = 1L;
public UserRole() {
}
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
public UserRole(User user, Role role) {
this.user = user;
this.role = role;
}
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "user_id")
private User user;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "role_id")
private Role role;
...
}
и хочу напечатать все роли пользователя, поэтому я использую этот код:
<td class="col_name" th:text="${user.userRoles.role}"></td><!-- ROLES -->
, но в браузере я вижу буквально следующее:
com.tdk.backend.persistence.domain.backend.User.userRoles