1.主从表

主表A与从表B关联:

若存在1:N关系,查询条件为B表字段写法为:

list.add(criteriaBuilder.like(root.joinList("projectContacts").get("pcontacts").as(String.class), "%" + search.getPcontacts() + "%"));

如果是1:1关系,写法如下:

roleConditions.add(cb.equal(root.join("projectThin", JoinType.INNER).get("industryType").as(String.class), roleindustry.getIndustryCode()));

如果表A与B关系为a.***=B.** and a.***=B.***,则写法为:

ListJoin<UvPcmerchants, List<UtMerFeedback>> taskJoin = root.joinList("merFeedbackList", JoinType.LEFT);
list.add(cb.and(cb.equal(taskJoin.get("depid"), par.getUserDept()),cb.notEqual(taskJoin.get("status"),"N")));

2.避免多次关联同一个表的情况,可按如下写法:

Join<UtProjectReport, UtProjectThin> thinJoin = root.join("projectThin", JoinType.INNER);
list.add(cb.equal(thinJoin.get("issubmit").as(String.class), "3"));
list.add(cb.notEqual(thinJoin.get("pstatus").as(String.class), "zz"));
list.add(cb.notEqual(thinJoin.get("pstatus").as(String.class), "fz"));

翻译后的SQL语句为:

INNER JOIN ut_project utprojectt2_ ON utprojectr0_.pid = utprojectt2_.PID
WHERE
uvprojectr1_.PRC_STATUS =?
AND uvprojectr1_.PRC_TYPE =?
AND utprojectt2_.ISSUBMIT =?
AND utprojectt2_.PSTATUS <>?
AND utprojectt2_.PSTATUS <>?

Hibernate若干知识点的更多相关文章

  1. Hibernate进阶知识点必备

    hibernate.cfg.xml的常用的配置 hibernate.show_sql:是否把Hibernate运行时的SQL语句输出到控制台,编码阶段便于测试,为true的好 -hibernate.f ...

  2. hibernate重要知识点总结

    一.使用注解方式-----实体和表之间的映射 配置spring的applicationContext.xml文件: <bean id="sessionFactory" cla ...

  3. Hibernate 零散知识点

    1 get方法和load方法查询时的区别: 如果在缓存中没有找到相应的对象,get会直接访问数据库并返回一个完全初始化的对象,过程中可能涉及多次数据库调用:而load会返回一个代理对象,只有在对象ge ...

  4. struts2、hibernate的知识点

    以下内容是我在复习struts2.hibernate和spring的时候记下得到,部分书上找不到的内容来自网络 以下是网络部分的原文网站: http://blog.csdn.net/frankaqi/ ...

  5. C语言若干知识点归记

    一.C语言指针学习架构 1.基本数据类型---指针 2.字符串---指针 3.数组---指针 4.函数---指针 5.结构体---指针 6.共用体---指针 7.枚举---指针 8.位域---指针 9 ...

  6. Hibernate框架第一天

    **框架和CRM项目的整体介绍** 1. 什么是CRM * CRM(Customer Relationship Management)客户关系管理,是利用相应的信息技术以及互联网技术来协调企业与顾客间 ...

  7. Hibernate学习第一天

    Hibernate框架第一天 今天任务 1. 使用Hibernate框架完成对客户的增删改查的操作 教学导航 1. 能够说出Hibernate的执行流程 2. 能够独立使用Hibernate框架完成增 ...

  8. margin collapse 之父子关系的DIV

    打算花点时间将知识整理一下,虽然平时现用现查都能完成工作,可是当遇到面试这种事情的时候,临时查就来不及了... 关于margin,整理若干知识点如下: 一:父子关系的DIV标签以及未加margin时的 ...

  9. [转载]AI教师正来势汹汹,教师饭碗堪优

    (原文标题:开门,机器人老师来了) 一. 开门,机器人老师到了 国庆几天,河南刚刚上演一幕新科技的大戏: 计算机和人展开了为期四天的人机大战.这一次,对垒的双方不再是李世乭和阿尔法狗,而是教师和人工智 ...

随机推荐

  1. C# TCP与UDP

    Http使用端口是80 SMTP使用端口是25 TCP是首选协议,它提供有保证的传输.错误校正和缓冲. System.Net.Sockets. TcpClient类封装了TCP链接,提供属性字段来控制 ...

  2. react react-native 日期插件 m-date-picker / rmc-date-picker的使用

    m-date-picker 基于 React,提供了 iOS 风格的日期选择方式,与原生 Datepicker 非常相似. 主页: https://github.com/react-component ...

  3. 在LINUX上查询哪个用户从哪个IP登录,登录时间,执行了什么命令?

    在/etc/profile里面加入以下代码 PS1="`whoami`@`hostname`:"'[$PWD]' history USER_IP=`>/dev/null| a ...

  4. Hailstone冰雹序列问题

    在复习数据结构,课程中提到Hailstone冰雹序列问题,问题如下 代码如下: public List<int> Hailstone(int n) { List<int> li ...

  5. skynet的火焰图

    之前搞过一下systemtap(systemtap折腾笔记),可惜很快琐事缠身,没有继续搞下去.最近偷空搞了一下,有点意思. 章大大的思路,是用perl生成systemtap脚本,从/proc/$pi ...

  6. 首次使用AndroidStudio创建hello world遇到的坑!(Mac系统下)

    第一次用AS,且不说它SDK配置的琐碎,光建立第一个简单的HelloWorld项目的配置包问题就把我卡了一天.这个坑必须记录一下,

  7. 服务端渲染时无法获得环境变量的值,一直是undefined

    1.服务端渲染时无法获得环境变量的值,一直是undefined 2.ngnix做代理以后无法无法获取node设置的cookie

  8. mongoDB数据库的安装与配置

    noSql数据库MongoDB的安装地址:https://www.mongodb.com/download-center?jmp=nav#community 选择相应的版本进行下载,在此以window ...

  9. 解题报告 『[NOI2003]逃学的小孩(树上操作)』

    原题地址 今天翻看集训队巨佬写的一篇有关于树形动规的论文时看到了这道题,但感觉并不需要用动规,求出树的直径再暴力枚举一下就搞出来了. 其实是因为我太弱了,看不懂大佬在写什么orz 代码实现如下: #i ...

  10. python smtp邮件

    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式. python的smtplib提供了一 ...