2009-10-06 90 views
3

簡單的JPA/JPQL問題。我有一個多對多關係的實體:JPQL for Many Items to ManyTo ManyToMany Relationship

@Entity 
public class Employee {  
    @ManyToMany 
    @JoinTablename="employee_project" 
     joinColumns={@JoinColumn(name="employee_id"} 
     inverseJoinColumns={@JoinColumn(name="project_id"}) 
    private List<Project> projects; 

什麼是JPQL查詢返回所有不具有任何項目的員工呢?

回答

5
from Employee e where not exists elements(e.projects) 

from Employee e where size(e.projects) = 0 
+0

Hmmmm。我收到第一個錯誤(「Exception Description:Syntax error parsing the query ...」using Eclipselink),但第二個看起來像廣告一樣工作。 – Tim 2009-10-06 22:00:26

+0

第一個是無效JPQL ... EXISTS需要子查詢 – DataNucleus 2009-10-07 10:02:47

+0

@Andy - 你說得對,'elements()似乎不在JPA規範中,它是一個Hibernate擴展。 – ChssPly76 2009-10-07 16:01:05

2

JQPL也有專門爲IS [NOT] EMPTY檢查比較操作是收集空:

​​
相關問題