簡體   English   中英

從SQL到HQL的“開始於”和“按優先級連接”

[英]SQL to HQL 'start with' and 'Connect by Prior'

我需要找到一種方法來獲取以11開頭的id,在sql中是使用“ start with”和“按優先順序連接”,但是在HQL中,我該怎么做?如果在grails中有更好的方法,則可以太好了,謝謝!

(更新:抱歉,我沒有寫另一個命令:“按先連接”)

假設ID是一個字符串,為什么不簡單使用like子句:

where id like '11%'

假設它不是字符串,則可以將其轉換為字符串:

where cast(id as STRING) like '11%'

要么

where str(id) like '11%'

如果您的意思是查詢ID大於或等於11的記錄,那么例如,如果您有一個Books表,則HQL為

def books = Books.executeQuery("SELECT b from Books b WHERE id >= 11")

遞歸SQL查詢是非標准的,因此HQL不支持它們(盡管我發現了一篇似乎提出並提供支持原型的論文 )。 為此,您需要堅持使用SQL。 這是一個類似的問題

暫無
暫無

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

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