我有三个表:
  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就查出来
  
  请问高手门要怎么写?????