读书人

hql话语左外连接支持 where b.aId (+)

发布时间: 2012-12-20 09:53:21 作者: rapoo

hql语句左外连接支持 where b.aId (+)= a.id 写法吗
SQL语句左外连接这样写不会报错,

但HQL语句报错了,不知道问题是不是处在这里
[最优解释]
(+)=这个是oracle特有的写法啊,用left outer join或者left join啊
[其他解释]
where b.aId (+)= a.id 这个是oracle特有的,HQL不能用…
[其他解释]
用 join的话 表之间关联关系 需要配 在 mapping里
[其他解释]

引用:
悲剧了,改成 from Aa a left join Bb b on b.aId = a.id

还是报错


HQL带的连接语句只能是实体与该实体的属性 进行连接
其意义就是为了优化(通过延迟加载查询关联的属性实在太傻逼了..)
我知道的就这些 期待其他人补充 你也可以用SQL查询然后addEntity
[其他解释]
当然不行了,这又不是H的
[其他解释]
不要以为 HQL 是万能的,要 HQL 能跟 SQL 划等号的话,那就牛 B 了!
[其他解释]
引用:
SQL语句左外连接这样写不会报错,

但HQL语句报错了,不知道问题是不是处在这里


+1
[其他解释]
该回复于2011-03-22 16:01:50被版主删除
[其他解释]
悲剧了,改成 from Aa a left join Bb b on b.aId = a.id

还是报错
[其他解释]
mapping里面如何配,能给个例子吗?
[其他解释]
我也出现一个连接问题,现在不知道怎么解决,
select a.name,a.jobnum,a.password,b.name,a.id,a.status,a.role_id,c.rolename from (Teacher a a left outer join Department b on a.department_id=b.id )left outer join Role c on c.id=a.role_id where a.status=1 order by a.id desc
Oracle 可以用,HQL居然报ERROR - line 1:82: unexpected token: (
求解脱啊

读书人网 >J2EE开发

热点推荐