关于解决hibernate左连接关联查询不执行的问题

hql是这样的:

String vrsql = "From VehicleRelevance as vr left join fetch vr.partRelevance as pr where vr.vehicle_id=1 and pr.part_id=2";

但是

pr.part_id是作为partRevelance标的外键  所以必须这样配置:
<property name="part_id" column="PART_ID" type="int" insert="false" update="false"></property>//<span style="color:#ff0000;">这个字段作为外键多对一可以省略 但是作为关联查询必须加上</span>
 <many-to-one name="partInfo" column="PART_ID" class="com.tmsm.bean.PartInfo" cascade="none" fetch="join" not-found="ignore"/>
时间: 2024-10-07 10:16:17

关于解决hibernate左连接关联查询不执行的问题的相关文章

Hibernate-ORM:11.Hibernate中的关联查询

------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 本篇博客将讲述Hibernate中的关联查询,及其级联(cascade)操作,以及指定哪一方维护关联关系的(inverse) 一,讲述目录如下: 1.单向一对多:(增加一个区县及其它以下的对应街道) 2.单项一对多:(查询一个区县,以及它下面所有的对应街道) 3.单项多对一:(查询一个指定的街道,并同时展示出其对应的区县) 4.双向一对多(多对一):(值得注意:toString()套路不对容易引发错误Err

关于hibernate 是否选择关联查询(full,out,inner)时判断的一点体会

从这个图可以看出什么? hb其实不是你投影写了关联对象dept就会去查这张表,因为在Criteria接口中只指定了Teacher,那么他不会做连接查询,这个deptNo从主表中获取就好了 同时,在QBC中,你不指定第二个Criteria,他不会帮你查第二张表,这是和hql不同的地方

Hibernate 多对一关联查询

一.单向多对一和双向多对一的区别 如果只需要从一方获取另一方数据,就用单向多对一:如果需要从双方都获取对方数据,就用双向多对一. 如果有两个对象,一个为User对象,一个为Department对象,一个用户只能属于一个部门,而一个部门可以包含多个用户.这样就是多对一关系.如下图 假设:我们需要通过用户找到所对应的部门,不需要通过部门查询该部门有哪些用户,就采用单向多对一关系 如果:我们不仅需要通过用户获取所对应的部门,还需要通过部门对象获取该部门下的用户,那么就采用双向多对一 二.单向多对一关系

Hibernate 多对多关联查询条件使用

from Brand as b inner join fetch b.styles as s where s.styleId=?

(一)SQL关联查询的使用技巧 (各种 join)

---恢复内容开始--- (一)SQL关联查询的使用技巧 (各种 join) 这几天因为工作的时候,发现自己的sql语句基础不是很好,特意研究了一下,发现sql语句真的是博大精深,sql语句不仅是要查出来你想要的数据,更讲究查询的效率,因为在查询大量数据时往往会因为数据量大,造成效率很低,再加上前后台数据的交互,造成了访问延迟等等的一系列问题. 在我们的日常工作中往往用到很多的查询方式,例如 嵌套查询,关联查询,子查询等等,就我而言,我感觉关联查询是最容易学习,和效率最高的.下面就我总结的关联查

Mysql之左连接右连接内连接——示例 (转)

下面是两张表 表stu 表tech 1.右连接 当使用右连接语句查询时,返回结果如下: 1 SELECT stu.id,stu.name,stu.classe_name,tech.id,tech.name FROM stu RIGHT JOIN tech on stu.classe_name=tech.classe_name; 从结果中可以看出,tech表中被查询的字段会被全部显示出来,而stu表中,只有与表tech的classe_name相同的条目的相应字段才会被显示出来. 右连接即:返回右边

myBatis --关联查询

业务需求,需要查询到的结果集如下 结构分析 1.查询出所有的评论,即data[]里面是一个list 2.查出list中每个评论id(即userObjectCmmtId)下面所有的子评论,即一对多的关系. 实现方法如下 1.接口层文件如下 2.实现层文件如下 3.返回第一层bean如下 返回第二层bean 4.xml文件如下(第一层)    <resultMap type="com.zhiji.caren.VO.CmmtRel" id="cmmtListMap"

Oracle中 “ORA-14551: 无法在查询中执行 DML 操作” 如何解决

在编写一个数据库函数时,方法实现需要查询后进行修改,出现ora-14551的错误 create or replace function fun_DxcBillSn(tabType integer,tabName varchar2,fieldStr varchar2)return integer is serialSn integer; maxVal integer; nowMonth varchar(20); begin --获取当前时间的月份-- select to_char(Sysdate,

高性能mysql 第六章查询性能优化 总结(上)查询的执行过程

6  查询性能优化 6.1为什么查询会变慢 这里说明了的查询执行周期,从客户端到服务器端,服务器端解析,优化器生成执行计划,执行(可以细分,大体过程可以通过show profile查看),从服务器端返回客户端结果. 而执行部分作为最重要的一环,需要做的事情比较多,而不合适的query往往让执行过程做了不必要的操作,或者不能使用更优秀的底层数据结构,从而用时更久. 6.2慢查询基础:优化数据访问 访问数据量多大,超过实际所需是慢查询的一个原因.导致这种情况的原因大致有两个 1.应用程序向mysql