簡體   English   中英

JPQL select 實體分配/未分配給關系

[英]JPQL select Entities assigend/ not assigned to a relation

我有兩個實體

class A{

}

class B{
    @OneToMany()
@JoinTable(name = "a_b", joinColumns = { @JoinColumn(name = "a_id") }, inverseJoinColumns = { @JoinColumn(name = "b_id") }, uniqueConstraints = { @UniqueConstraint(columnNames = { "b_id" }) })
private Set<A> aSet;
}

該關系是可選的,因此並非每個 A 都將分配給 B,也不是每個 B 都必須有任何 A(s)。

我需要兩個查詢,一個查詢 select 所有分配給任何 B 的 A,另一個查詢 select分配給任何 B 的 A。

我想保留連接表並且我不希望 A bean 引用 B 所以不允許修改關系。

有任何想法嗎?

您可以使用RIGHT JOIN

SELECT a FROM B b RIGHT JOIN b.aSet a WHERE b IS NULL

SELECT a FROM B b RIGHT JOIN b.aSet a WHERE b IS NOT NULL

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM