我試圖做下面的SQL語句在格姆的Grails GORM(休眠)查詢
select * from table1 where table1.x not in
(select x from table 2 where y='something');
所以,我有兩個表,並需要找到從表1中不屬於表2中的條目在Grails的
def xx= table2.findByY('something')
def c = table1.createCriteria()
def result= c.list {
not (
in('x', xx)
)
}
的語法是錯誤的,我不知道如何模擬不 SQL邏輯。作爲一個學習點,如果有人也可以告訴我爲什麼在grails/groovy中的減號( - )運算符不能用於列表。我嘗試了x和y分開,並做x.minus(y),但它並沒有改變列表。我在Groovy on Grails list - not working?看到了一個解釋,但我希望定義的列表是本地的。
非常感謝。
我看到了如何在http://www.grails.org/GORM+-+Querying上使用HQL查詢,但更喜歡瞭解條件語法。謝謝 – bsr 2010-03-30 03:14:03