簡體   English   中英

用於子查詢的Grails Createcriteria

[英]Grails Createcriteria for subquery

如何將createCriteria用於subQuery。 我的HQL是這樣的:

def列表= List.executeQuery(“從列表中的FROM列表cl在哪里cl.brand_id(從品牌b中選擇b.id,在哪里b.id cl.brand_id = b.id和b.brand_name rLIKE'^ [0123456789]。*')”)

請告訴我們如何使用Createcriteria編寫此代碼?

提前致謝。

似乎Hibernate不支持rlike或regexp功能(請參閱http://opensource.atlassian.com/projects/hibernate/browse/HHH-3404 ),但是Grails可以!

為此,您需要使用createCriteria(而不是executeQuery)基於此討論http://n4.nabble.com/Using-rlike-in-a-gorm-query-td1391934.htmlhttp://jira.codehaus .org / browse / GRAILS-3481 ,您的解決方案將是:

def c = List.createCriteria(); 
results = c { 
        rlike("name", "^[0123456789].*") 
} 

注意:它可能僅適用於MySQL和Oracle

查詢域對象的屬性時,您需要在條件中使用該屬性的名稱進行屏蔽。 就像是:

def criteria = List.createCriteria(); 
def results = criteria {
    brand {
        rlike("name", "^[0123456789].*") 
    }
}

另請參閱Grails GORM條件文檔中的“查詢關聯”部分

暫無
暫無

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

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