J'ai une question concernant la jointure entre 2 entités utilisant hql.Comment faire une jointure en utilisant hibernate
À partir d'un profil utilisateur, je dois récupérer le nom du rôle associé à ce profil utilisateur. J'ai donc besoin de faire une jointure pour l'obtenir dans la table des rôles.
J'ai la UserProfile de classe suivante:
@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;
Voici la classe 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;
Savez-vous comment puis-je faire une jointure basée sur le private Set<Integer> roleIds
dans le userProfile. Java pour récupérer le rôle associé afin de récupérer le nom?
Merci beaucoup :)