| 发表于:2007-01-08 18:37:51 楼主 |
我有三个表: u_user(u_user_id,name)(用户表) u_teacher(u_teacher_id,name,u_user_id)(老师表与用户表是一对一) c_button(c_button_id,name,u_user_id)(栏目表) 每个栏目表中的栏目有u_user_id 可为空的外键; 我如何用hibernate 的hql查询:当c_button.u_user_id不为空时 u_teacher.name? 我写的是:select b.name,t.name from cbutton as b left outer join uteacher as t where t.uuser.id = b.uuser.id 我也写过:select b.name,t.name from cbutton as b left outer join uuser u,uteacher as t where t.uuser.id =u.id and u.id = b.uuser.id 但都是报错为: path expected for join! invalid path: 't.name' invalid path: 't.uuser.id' 当我把“where”改成“on”是就会报出:unexpected token: on 但当我写sql: select b.name,u.name from c_button b left outer join u_teacher u on u.u_user_id=b.u_user_id 在pl/sql上运行就没问题 当我先查了出cbutton.name和cbutton.uuserid.id 再根据cbutton.uuserid.id 去查uteacher.name 结果也正常,但是查询的次数大多了,我想用一条hql就查出来 请问高手门要怎么写????? |
|
|
|
|