集合运算介绍
集合运算:HQL语句提供比较特殊的运算符,持久化映射中,存在一对多的映射配置,这里就可以使用集合运算符做相应的判定运算。
集合运算符:Hibernate框架会在hql解析过程中,解析成相应sql语句时
把empty——>exists把member of——>in运算。
1、is [not] empty判断集合类型属性[不]为空,不包含任何元素。
2、member of判断实例是否属于该集合
案例:查询订单明细不为空的有效订单

集合运算 set
is [not] empty 集合[不]为空,不包含任何元素
member of 元素属于集合
| HQL | 对应SQL | |||
| empty | exists | |||
| member of | in | |||
"from Order o where o.orderItems is not empty"
创建hibernate Session实例变量
在setUp方法中创建实例变量
使用完之后关闭session.close()
集合运算
hibernate框架会在HQL解析过程中解析为相应的SQL语句时候
对empty运算转化为SQL中exists运算
member of运算转化为SQL语句当中的in运算
集合运算是HQL语句提供的一种特殊的运算符.可用在一对多、多对一等关联中. 1.is empty :集合为空,不含任何元素 2.member of:元素属于集合 HQL语句的empty解释成sql语句的exists. HQL语句的member of解释成sql语句的in. "from Grade where Grade.set is not empty" //查询的是存在学生的班级的班级信息. "from Student where Student.grade member of (from Grade where cid=1)" //查询id编号为1的班级的学生信息.
集合运算是HQL语句提供的一种特殊的运算符.可用在一对多、多对一等关联中. 1.is empty :集合为空,不含任何元素 2.member of:元素属于集合 HQL语句的empty解释成sql语句的exists. HQL语句的member of解释成sql语句的in. "from Grade where Grade.set is not empty" //查询的是存在学生的班级的班级信息. "from Student where Student.grade member of (from Grade where cid=1)" //查询id编号为1的班级的学生信息.