java集合多对多_java – JPA从具有多对多关联的集合中选择

我有2个具有多对多关联的实体类.

ModPm:

@Entity

@Table(name = "MOD_PM")

public class ModPm extends WebPageObject implements Serializable, IDBNamedEntity {

private static final long serialVersionUID = 1L;

public final static String Q_GET_WITHOUT_STATUS_FOR_SCOPE = "ModPm.getWithoutStatusForScope";

@Id

private long id;

....

@ManyToMany

@JoinTable(name = "MOD_PM_SCOPE_TYPES",

joinColumns = @JoinColumn(name = "PM_ID"),

inverseJoinColumns = @JoinColumn(name = "SCOPE_TYPE_ID")

)

private List modScopeTypes;

ModScopeType:

@Entity

@Table(name = "MOD_SCOPES")

@Cacheable

public class ModScopeType extends WebPageObject implements Serializable {

private static final long serialVersionUID = 1L;

public final static String Q_GET_ALL = "ModScopeType.getAll";

@Id

@Column(name = "ID")

private long id;

....

//bi-directional many-to-many association to ModPm

@ManyToMany

@JoinTable(name = "MOD_PM_SCOPE_TYPES",

joinColumns = @JoinColumn(name = "SCOPE_TYPE_ID"),

inverseJoinColumns = @JoinColumn(name = "PM_ID")

)

private List modPms;

是否可以从MOD_PM表中选择在MOD_PM_SCOPE_TYPES表中记录SCOPE_TYPE_ID = 1的实体?

本机SQL查询:

SELECT ID, NAME FROM MOD_PM WHERE ID IN (SELECT PM_ID FROM MOD_PM_SCOPE_TYPES WHERE SCOPE_TYPE_ID=1)

如何将此查询翻译为JPQL?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值