hql 话语不明白的
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 里的属性吗 是的,你的User对象关联映射了Role对象,简单的说就是你的User里肯定有一个Role类型的成员变量,所以你可以通过懒加载去取到Role的id
------解决方案--------------------
看错了。少看一个引号。 role.getRole_id()是当作字符串的类型去查询的,你注意一下:
String hql = "from User u where u.r.role_id= ' " + role.getRole_id()+" ' ";
就是拼接SQL,然后把id作为字符串去查询。
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 里的属性吗 是的,你的User对象关联映射了Role对象,简单的说就是你的User里肯定有一个Role类型的成员变量,所以你可以通过懒加载去取到Role的id
------解决方案--------------------
看错了。少看一个引号。 role.getRole_id()是当作字符串的类型去查询的,你注意一下:
String hql = "from User u where u.r.role_id= ' " + role.getRole_id()+" ' ";
就是拼接SQL,然后把id作为字符串去查询。