Hibernate的查询的方式

在Hibernate中提供了很多种的查询的方式。Hibernate共提供了五种查询方式。

Hibernate的查询方式:OID查询

OID检索:Hibernate根据对象的OID(主键)进行检索

使用get方法

Customer customer = session.get(Customer.class,1l);

使用load方法

Customer customer = session.load(Customer.class,1l);

Hibernate的查询方式:对象导航检索

对象导航检索:Hibernate根据一个已经查询到的对象,获得其关联的对象的一种查询方式。

LinkMan linkMan = session.get(LinkMan.class,1l);

Customer customer  = linkMan.getCustomer();

Customer customer = session.get(Customer.class,2l);

Set<LinkMan> linkMans = customer.getLinkMans();

Hibernate的查询方式:HQL检索

HQL查询:Hibernate Query Language,Hibernate的查询语言,是一种面向对象的方式的查询语言,语法类似SQL。通过session.createQuery(),用于接收一个HQL进行查询方式。

初始化一些数据

HQL的简单查询

HQL的别名查询

HQL的排序查询

HQL的条件查询

HQL的投影查询

投影查询:查询对象的某个或某些属性。

HQL的分页查询

HQL的分组统计查询

HQL的多表查询

l  SQL的多表查询

n  连接查询

u  交叉连接:笛卡尔积

select * from A,B;

u  内连接    :inner join (inner 可以省略)

l  隐式内连接:

select * from A,B where A.id = B.aid;

l  显示内连接:

select * from A inner join B on A.id = B.aid;

u  外连接    :

l  左外连接:left outer join(outer 可以省略)

select * from A left outer join B on A.id= B.aid;

l  右外连接:right outer join(outer 可以省略)

select * from A right outer join B on A.id = B.aid;

n  子查询

l  HQL的多表查询

n  连接查询

u  交叉连接

u  内连接

l  显示内连接

l  隐式内连接

迫切内连接

u  外连接

l  左外连接

l  右外连接

迫切左外连接

Hibernate的查询方式:QBC检索

QBC查询:Query By Criteria,条件查询。是一种更加面向对象化的查询的方式。

简单查询

排序查询

分页查询

条件查询

统计查询

离线条件查询(SSH)---DetachedCriteria

Hibernate的查询方式:SQL检索

SQL查询

SQL查询:通过使用sql语句进行查询

Hibernate的查询的方式的更多相关文章

  1. Hibernate的查询方式

    Hibernate的查询的方式 OID检索 get或load方法进行的查询 对象导航检索 linkman.getCustomer(); HQL检索 用于接收hql语句进行查询,面向对象查询方式. 通过 ...

  2. Hibernate的查询方式总结

    Hibernate的查询方式大体有三种,分别是HQL QBC和SQL三种.在网上查阅一一些资料,做了一个简单的总结. 1. SQL sql 是面向数据库表查询,from 后面跟的是表名,where 后 ...

  3. 4、Hibernate的查询方式

    一.Hibernate的查询方式:OID查询 1.OID检索:Hibernate根据对象的OID(主键)进行检索 1-1.使用get方法 Customer customer = session.get ...

  4. Hibernate各种查询方式及查询策略(转)

    转自:https://www.cnblogs.com/xujingyang/p/6734203.html 在了解Hibernate的基本知识后,重点让我们看下相关查询方式和查询优化策略吧! 话不多说, ...

  5. Hibernate 命名查询

    1.定义 Hibernate允许在映射配置文件中定义字符串形式的查询语句,这种查询方式被称为命名查询. 2.创建表结构并添加测试数据 create table `student` ( `id` dou ...

  6. hibernate模糊查询

    hibernate模糊查询-Restrictions.ilike & Expression.like Criteria criteria = session.createCriteria(Ta ...

  7. Hibernate操作和保存方式

    Session API [Java Hibernate 之 CRUD 操作]http://www.codeceo.com/article/java-hibernate-crud.html   [Ses ...

  8. Hibernate HQL查询:

    Hibernate HQL查询:Criteria查询对查询条件进行了面向对象封装,符合编程人员的思维方式,不过HQL(Hibernate Query Lanaguage)查询提供了更加丰富的和灵活的查 ...

  9. Hibernate HQL查询语句总结

    Hibernate HQL查询语句总结 1. 实体查询:有关实体查询技术,其实我们在先前已经有多次涉及,比如下面的例子:String hql="from User user ";L ...

随机推荐

  1. 编写高质量代码改善C#程序的157个建议——建议67:慎用自定义异常

    建议67:慎用自定义异常 除非有充分的理由,否则不要创建自定义异常.如果要对某类程序出错做特殊处理,那就自定义异常.需要自定义异常的理由如下: 1)方便测试.通过抛出一个自定义的异常类型实例,我们可以 ...

  2. 设计模式6---代理模式(Proxy Pattern)

    代理设计模式 定义:为其他对象提供一种代理以控制对这个对象的访问. 1.  静态代理 静态代理在使用时,需要定义接口或者父类,被代理对象与代理对象都实现相同的接口或者是继承相同父类. 接口:IUser ...

  3. modelsim使用常见问题及解决办法集锦 ②

    二.Error deleting “msim_transcript” Error deleting “msim_transcript”:permission denied. Check the Nat ...

  4. Servlet 学习总结-1

    JavaWeb应用程序中所有的请求-响应都是由Servlet来完成的.Servlet是Java Web的核心程序,所有的网址(请求-响应)都交给Servlet来处理. Servlet在Web应用中被映 ...

  5. 卸载超级兔子后,word打不开(无法创建工作文件),VS2010也没法用(找不到CL.exe)。

    又折腾了一上午,昨天用优化大师和超级兔子整理了电脑,今天来到实验室,vs打开后报错,提示"找不到CL.exe,"(具体提示忘记了,就是找不到CL.exe),打开word2010也是 ...

  6. 设置ArcGIS地图文档的数据源为相对路径

    ArcGIS中默认情况下,地图文档的数据源路径为绝对路径.在这种情况下,如果移动/拷贝地图文档及其数据源后,再次打开地图文档时,就看不到具体图层数据了(图层列表中图层前有“!”图标,并且无法查看图层数 ...

  7. Logiccode GSM SMS .Net Library 3.3

    下载 Mega 百度  密码:5pvb

  8. iOS开发其他相关

    1.iOS开发行情 1.1 iOS系统各个版本的占比查询 2.Xcode的使用 开发软件下载 Xcode Help(官方) 2.1 Xcode面板 Xcode面板 2.2 Xcode版本新功能 Xco ...

  9. less配置

    一.sublime text需要下载考拉,然后要 一直打开着: 1.编译工具用koala编译 下载地址:http://koala-app.com/index-zh.html 2.LESS中的注释: 可 ...

  10. “全栈2019”Java第八十章:外部类是否能实现本类中的接口?

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...