用one-to-many,
不过感觉你的数据库设计有问题吧,员工和部门是多对一的关系,按照你的表结构,正好相反

解决方案 »

  1.   

    table_userinfo的字段
    userid
    username
    departid
    ... ...table_dept的字段
    departid
    ... ...在table_dept的*.hbm.xml中设置inverse="true" cascade="all"
    from table_dept t where t.roomId=departid
      

  2.   

    发错了
    from table_dept t where t.departid=?
      

  3.   

    数据库的结构是:table_userinfo包含一个用户的全部信息,主键是userid
    table_dept只有2个字段,departid,userid,无主键,表示一个userid在哪个部门中
    另外还有一个table_deptinfo表,包含一个部门的全部信息,departid是主键
    表结构是别人设计的,目前不能改
      

  4.   

    哦,table_dept是无主键表啊,这样好像就麻烦了...首先无主键表在hibernate里面需要配置compoment-id,而compoment-id如何去关联,我也不太清楚hibernate的定制有些复杂,对于一些非正规的表结构,建议还是用原生的sql楼主看看还有没有高人解答了  或者到javaeyes去看看