我们在用hibernate时,会在对应的实体加上对应一对多,多对多,多对一关系。而在查询的时候,我们会用到嵌套去查询。
但是,在这里有一点声明,在用hql查询的时候, 网上很多人都说 hibernate 不支持 from 子查询。这点我没有去验证,大家可以注意以下。
多对多,有相关中间表
一开始我本打算用SQL,但是直接用SQL去查询,就无法直接获取两个表中的关联数据!就算能获取,相对来说还是比较复杂.
假设,我现在关联关系 一个是UserEntity(用户),一个是DepartmentEntity(部门) 它们直接是多对多关系!
因为采取的是hibernate的注解 @JoinTable 。所以中间实体(Entity)就没有去建立。
当时,我就在纠结怎么获取当中的数据。解决办法如下:
SELECT dep_tab FROM DepartmentEntity dep_tab left join dep_tab.userEntity user_tab where user_tab.userId = 1
上面信息是通过UserID查询出该用户 所任职的岗位。 记得是DepartmentEntity 实体“.” 出用户实体。当然也可以通过用户实体“.”出。因为本身是对对关系,就看你查询所用到的条件了。
在上述查询的时候,切记不能写为 select * ,否则会报如下异常:
unexpected token: * near line 1,
相关推荐
Hibernate中的关联查询实际上生成的是数据库表连接查询的SQL语句
Hibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询....
Hibernate hql查询语法总结 Hibernate hql查询语法总结
hibernate hql各类查询范例
hibernate查询之HQLhibernate查询之HQLhibernate查询之HQL
Hibernate连表查询 Hibernate连表查询
hibernate持久化,hql查询 关联映射
Hibernate HQL基础练习小列子+数据库
Hibernate HQL 深度历险 深入讲解Hibernate HQL 查询
Hibernate HQL.txt Hibernate HQL.txt Hibernate HQL.txt
对hibernate的hql进行了详尽的讲解
hibernate 中HQL语句查询学习笔记
Hibernate(HQL、QBC查询)源码 Hibernate(HQL、QBC查询)源码 Hibernate(HQL、QBC查询)源码 Hibernate(HQL、QBC查询)源码 Hibernate(HQL、QBC查询)源码
Hibernate HQL查询语句总结.docx 网络下载的
Hibernate 多表连接分页查询示范项目 Hibernate Criteria 多表连接 分页
Hibernate查询语言HQL.PPT
Hibernate HQL 查询 Query 资料 3个word总结的资料。
hibernate hql 语法学习的文档
hibernate HQL 查询教程 管理 Session ThreadLocal 接口的使用
hibernate hql基本操作