gpt4 book ai didi

java - HQL:使用 ManyToMany 进行 Hibernate 查询

转载 作者:搜寻专家 更新时间:2023-10-30 19:53:51 25 4
gpt4 key购买 nike

我对 HQL 查询和 hibernate 有疑问。

我有一个用户类和一个角色类。一个用户可以有多个角色。所以我有一个像这样的 ManyToMany 关系:

在用户类中:

@ManyToMany(fetch = FetchType.LAZY)
@oinTable(name = "PORTAIL_USERROLE", joinColumns = { @JoinColumn(name = "USERID", nullable = false, updatable = false) }, inverseJoinColumns = { @JoinColumn(name = "ROLE", nullable = false, updatable = false) })
public Set<Portailrole> getPortailroles() {
return this.portailroles;
}

在角色类中:

@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "PORTAIL_USERROLE", joinColumns = { @JoinColumn(name = "ROLE", nullable = false, updatable = false) }, inverseJoinColumns = { @JoinColumn(name = "USERID", nullable = false, updatable = false) })
public Set<Portailuser> getPortailusers() {
return this.portailusers;
}

此映射创建了第 3 个表 (PORTAIL_USERROLE),其中存放关系。一切都像这样工作得很好。当我有一个用户时,我检索角色。

但是,我的问题是:在 HQL 查询中,如何获取具有特定角色的所有用户?任何类都代表 PORTAIL_USERROLE 表,所以我不知道如何进行 HQL 查询。

最佳答案

应该这样做:

from Portailuser u join u.portailroles r where r.name=:roleName

关于java - HQL:使用 ManyToMany 进行 Hibernate 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3475171/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com