论坛首页 Java企业应用论坛

HQL中子查询问题?

浏览 13918 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2003-09-15  
在一个综合查询中我在SELECT 和 FROM之间应用子查询,可是这样抛出异常,似乎是HQL不支持在SELECT和FROM之间的字查询,是不是这样?
同样的语句在SQL中是没问题的。
   发表时间:2003-09-15  
请把你的hql贴出
0 请登录后投票
   发表时间:2003-09-15  
大概是两个星期以前碰到的问题了,因为要重现当时的错误我今天上午没有时间(因为应用HIBERNATE来开发的那个小工具已经封版了,这个问题是我再后来优化的时候遇到的)。
说简单点,就是一个在SELECT 和 FROM之间是否支持子查询的问题,hql是否支持?HQL是支持在WHERE后边的自查询的。
select (select .......) as items1,.....,from......
如果在不耽搁你时间的情况下解决我的问题,那就再好不过了。。。
0 请登录后投票
   发表时间:2003-09-15  
估计不支持,从没看到过。
到http://forum.hibernate.org/问问。
0 请登录后投票
   发表时间:2003-09-16  
应该是不支持的,似乎仅支持where子句中的子查询。
0 请登录后投票
   发表时间:2003-09-16  
子查询不支持的,参见HQL BNF:
query:
    [selectClause] fromClause [whereClause] [groupByClause] [havingClause] [orderByClause];

selectClause:
    SELECT DISTINCT? selectedPropertiesList | ( NEW className OPEN selectedPropertiesList CLOSE );;

也不支持 select xxx as y

不过,所有的子查询都可以转换为连接查询。根据gavin的说法,几乎所有的sql都可以用HQL实现的
0 请登录后投票
   发表时间:2003-09-16  
实在不行就去读源码,源码很简单,一看就知道有没有了
0 请登录后投票
   发表时间:2003-09-17  
连接查询如何使用?有哪些前提条件?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics