hibernate 多表查询

来源:互联网 发布:apache url重定向 编辑:程序博客网 时间:2024/06/04 19:53

 

有两个表:

Menu,Privilege,他们是多对多关系,有一个中间表menu_privilege,在Menu中有privileges List字段,而在privilege中则没有menu List字段,因为privilege不想依赖于Menu。但我们要根据Privilege得到其所有的Menu,则HQL应该这样写:

 Query query  =  session.createQuery( " select menu from Menu menu 
left join menu.privileges p where p.id=:id " );
                
query.setParameter( " id " 
, privilege.getId());
 return 
 query.list();