繁体   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