HQL语句 FROM Department d WHERE d.parent.id=?意思

J2EE 码拜 6年前 (2015-04-19) 970次浏览 0个评论

 FROM Department d WHERE d.parent.id=? 。这段HQL语句的意思,d.parent.id不懂
实体对象;
           private Long id;
private Department parent; // 自己类关系多对一-上级部门,
private Set<Department> children=new HashSet<Department>(); // 自己类关系-下级部门
private String name; // 部门名称
private String description; // 部门描述

实体映射文件:
<!– 本类Department属性,本类与parent(上级)多对一–>
                     <many-to-one name=”parent” class=”Department” >
<column name=”parentId”></column>
</many-to-one>
<!– 本类Department属性,本类与children(上级)多对一,cascade级联操作删除–>
<set name=”children” cascade=”delete”>
<key column=”parentId”/> <!– 对象外间 –>
<one-to-many class=”Department”/>
</set>

HQL语句 FROM Department d WHERE d.parent.id=?意思
d是Department类的别名,d.parent.id代表的就是Department类中parent属性的id属性
HQL语句 FROM Department d WHERE d.parent.id=?意思
d是Department表的别名,parent是当前查的Department 的父部门。Department 表和对象里有id这个属性。
HQL语句 FROM Department d WHERE d.parent.id=?意思
看字面就理解。  。
HQL语句 FROM Department d WHERE d.parent.id=?意思
d.parent就是指的是下面的实体中定义的属性
private Department parent; // 自己类关系多对一-上级部门,
HQL语句 FROM Department d WHERE d.parent.id=?意思
引用 1 楼 suciver 的回复:

d是Department类的别名,d.parent.id代表的就是Department类中parent属性的id属性

引用 4 楼 yoyobboy112233 的回复:

d.parent就是指的是下面的实体中定义的属性
private Department parent; // 自己类关系多对一-上级部门,

引用 2 楼 oh_Maxy 的回复:

d是Department表的别名,parent是当前查的Department 的父部门。Department 表和对象里有id这个属性。

为什么我查询出来的是当前对象的子部门的值。传进来的的id是表中当前id。

HQL语句 FROM Department d WHERE d.parent.id=?意思
30分
引用 5 楼 denghai1032 的回复:
Quote: 引用 1 楼 suciver 的回复:

d是Department类的别名,d.parent.id代表的就是Department类中parent属性的id属性

引用 4 楼 yoyobboy112233 的回复:

d.parent就是指的是下面的实体中定义的属性
private Department parent; // 自己类关系多对一-上级部门,

引用 2 楼 oh_Maxy 的回复:

d是Department表的别名,parent是当前查的Department 的父部门。Department 表和对象里有id这个属性。

为什么我查询出来的是当前对象的子部门的值。传进来的的id是表中当前id。

这不是很正常吗,你的id是parent的id值就意味着你的筛选条件是父部门的id为当前的id,那么查询出来的自然是当前id的子部门值


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明HQL语句 FROM Department d WHERE d.parent.id=?意思
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!