日期:2014-05-18  浏览次数:20675 次

hql 语句不明白的
  String hql = "from User u where u.r.role_id= '"+ role.getRole_id()+"'";

这语句是什么意思 

User 是用户  role 是权限    求大神给解释下
------解决方案--------------------
User 和 Role 应该是 多对一的关系。 在User的bean里定义了:private Role r;  也就是ManyToOne的关联关系映射。很简单,就是查询roleid=xxx的User对象。
------解决方案--------------------
引用:
还是不明白 这个加"" 是什么意思  是固定写法吗? 根据 role.role_id  查找User 里的属性吗

加""  完全没用,你去掉也是一样的。
根据 role.role_id  查找User 里的属性吗  是的,你的User对象关联映射了Role对象,简单的说就是你的User里肯定有一个Role类型的成员变量,所以你可以通过懒加载去取到Role的id
------解决方案--------------------
引用:
还是不明白 这个加"" 是什么意思  是固定写法吗? 根据 role.role_id  查找User 里的属性吗

看错了。少看一个引号。 role.getRole_id()是当作字符串的类型去查询的,你注意一下:
String hql = "from User u where u.r.role_id=   '   " + role.getRole_id()+"   '   ";
就是拼接SQL,然后把id作为字符串去查询。