hql を使用した 2 つのエンティティ間の結合について質問があります。
userProfile から始めて、この userProfile に関連付けられているロールの名前を取得する必要があります。そのため、ロール テーブルで取得するには、結合を作成する必要があります。
次のクラス 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 内に基づいて結合を作成する方法を知っていますか?
どうもありがとうございました :)