请教一个Hibernate查询的问题
  有一个表record(id,user_id,course_id),user_id引用表user的主键id,course_id引用表course的主键id
表user和record是一对多关联,表course和record也是一对多关联
已知user_id 和course_id的值,请问在Hibernate里怎样查询相对应的record的主键id的值?

解决方案 »

  1.   

    hql ="select r.id from Record r where r.user_id=? and r.course_id=?";
      

  2.   

    按楼上的方法做,则出现如下异常:
    org.hibernate.hql.ast.QuerySyntaxException: unexpected token: Record near line 1, column 14 [select r2.id Record as r2 where r2.user_id = '8a8af1b619d91aef0119d91bd0a90001' and r2.record_id = '8a8af1b61a0ccd7b011a0ccfbaf30003']补充:
    user_id和course_id是外键来的,所以在Record的PO那里并没有这两个属性的
      

  3.   

    应该是:
    org.hibernate.QueryException: could not resolve property: user_id of: app.bean.Record2
    [select r2.id from app.bean.Record2 as r2 where r2.user_id
    = '8a8af1b619d91aef0119d91bd0a90001' and r2.record_id = '8a8af1b61a0ccd7b011a0ccfbaf30003']
      

  4.   

    "select r.id from Record r left join r.user left join r.course where r.user.user_id=? and r.course.course_id=?"不知道行不行