У меня есть вопрос относительно объединения двух сущностей с использованием hql.
Начиная с пользовательского профиля, мне нужно получить имя роли, связанной с этим пользовательским профилем. Поэтому мне нужно сделать соединение, чтобы получить его в таблице ролей.
У меня есть следующий класс UserProfile:
@Entity
@Table(name="USER_PROFILES")
public class UserProfile extends VersionedObject implements Serializable {
public static final int CAID_LENGTH = 64;
@Column(nullable=false, length=CAID_LENGTH)
private String caid;
@Column(length=255)
private String description;
@CollectionOfElements
@JoinTable(
name="USER_ROLES",
joinColumns={
@JoinColumn(name="user_id", referencedColumnName="id"),
@JoinColumn(name="user_v_no", referencedColumnName="v_no")
})
@Column(name="role_id")
private Set<Integer> roleIds;
Вот класс Role.java:
@Entity
@Table(name="ROLES")
public class Role extends VersionedObject implements Serializable {
@Column(nullable=false, length=255)
private String name;
@Column(length=255)
private String description;
@CollectionOfElements
@JoinTable(
name="ROLES_RIGHTS",
joinColumns={
@JoinColumn(name="role_v_no", referencedColumnName="v_no"),
@JoinColumn(name="role_id", referencedColumnName="id")
})
private Set<Right> rights;
Знаете ли вы, как я могу создать соединение на основе private Set<Integer> roleIds
в userProfile.java, чтобы получить связанную роль и получить имя?
Большое спасибо:)