0
我有類:JPA,從@ManyToMany關係生成的表中獲取數據
@Entity
public class User {
@ManyToMany
public List<Role> roles = new LinkedList<>();
}
@Entity
public class Role {
}
JPA/Hibernate生成這些類的三個表:
- 用戶(ID)
- 角色(ID )
- USER_ROLE(USER_ID,ROLE_ID)
現在我想獲得具有具體角色的用戶名單f.e .: role_id = 4
我該如何實現這一目標?沒有像User_Role這樣的實體,所以我會要求數據?
使用查詢:'從用戶選擇不同的U U加入u.roles R其中r.id = 4'。注意:這是一個**列表**的角色,所以命名您的字段「角色」,而不是「角色」。閱讀手冊:https://docs.jboss.org/hibernate/orm/current/userguide/html_single/Hibernate_User_Guide.html#hql。您還可以將該關聯設爲雙向,通過ID加載該角色,並獲取其用戶列表。所有這些在手冊中都有解釋。 –
感謝指點我本教程的人。太好了。你的答案也很好。有用。如果您可以發佈它作爲答案,我會關閉這個問題。 '角色'拼寫錯誤。 – masterdany88
我會建議你不要使用ManyToMany,但要解散它,以便映射表也是一個實體。如果給你更好的控制,並且還可以給你更好的表現。我建議您通過Hibernate工程師https://vimeo.com/190275665#t=1700之一查看此視頻(如關係部分) –