Hibernate的三种常用检索方式】的更多相关文章

Hibernate 提供了以下几种检索对象的方式 ¨       导航对象图检索方式:  根据已经加载的对象导航到其他对象 ¨       OID 检索方式:  按照对象的 OID 来检索对象 ¨       HQL 检索方式: 使用面向对象的 HQL 查询语言 ¨       QBC 检索方式: 使用 QBC(Query By Criteria) API 来检索对象. 这种 API 封装了基于字符串形式的查询语句, 提供了更加面向对象的查询接口. ¨       本地 SQL 检索方式: 使用…
一.概述      Hibernate有五种检索方式. 1.导航对象图检索方式      根据已经加载的对象,导航到其他对象. Order order = (Order)session.get(Order.class,1); Customer customer = order.getCustomer();   2.OID检索方式      根据对象的OID来检索对象. session.get(Customer.class,1); session.load(Customer.class,1); g…
一.HQL 检索方式 以双向的一对多来测试 HQL 检索方式.以 Department 和 Employee 为例. 建表语句: CREATE TABLE department ( dept_id ) PRIMARY KEY NOT NULL AUTO_INCREMENT, dept_name ) ); CREATE INDEX FK_8hf3vewo7w3v9doungcc51wwy ON department (dept_id); CREATE TABLE employee ( emp_id…
准备 模型及映射文件 package com.zze.bean; import java.util.HashSet; import java.util.Set; public class Class { public Class() { } public Class(Integer id, String name) { this.id = id; this.name = name; } private Integer id; private String name; private Set<St…
1.hibernate框架的检索方式有以下几种: OID检索:根据唯一标识OID检索数据 对象导航检索:根据某个对象导航查询与该对象关联的对象数据 HQL检索:通过query接口对象查询 QBC检索:通过criteria接口对象查询 SQL检索:通过SQL语句查询 2.HQL检索方式: 查询全部数据:session.createQuery("from 类名"); 根据条件查询:session.createQuery("from 类名 where 属性名=?").se…
hibernate有五种检索方式,这儿用 单向的一对多的映射关系 例子,这儿有后三种的方式: 导航对象图检索方式: 根据已经加载的对象导航到其他对象 OID 检索方式: 按照对象的 OID 来检索对象 HQL 检索方式: 使用面向对象的 HQL 查询语言 QBC 检索方式: 使用 QBC(Query By Criteria) API 来检索对象. 这种 API 封装了基于字符串形式的查询语句, 提供了更加面向对象的查询接口. 本地 SQL 检索方式: 使用本地数据库的 SQL 查询语句 建立封装…
概述 •Hibernate 提供了以下几种检索对象的方式 –导航对象图检索方式:  根据已经加载的对象导航到其他对象 –OID 检索方式:  按照对象的 OID 来检索对象 –HQL 检索方式: 使用面向对象的 HQL 查询语言 –QBC 检索方式: 使用 QBC(Query By Criteria) API 来检索对象. 这种 API 封装了基于字符串形式的查询语句, 提供了更加面向对象的查询接口. –本地 SQL 检索方式: 使用本地数据库的 SQL 查询语句 HQL 检索方式 HQL(Hi…
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------…
我们在项目应用中对数据进行最多的操作就是查询,数据的查询在所有ORM框架中也占有极其重要的地位.那么,如何利用Hibernate查询数据呢?Hibernate为我们提供了多种数据查询的方式,又称为Hibernate的检索方式,主要有以下五种,我们来系统地学习一下. 1.导航对象图检索方式.(根据已经加载的对象,导航到其他对象.) 2.OID检索方式.(按照对象的OID来检索对象.) 3.HQL检索方式.(使用面向对象的HQL查询语言.) 4.QBC检索方式.(使用QBC(Qurey By Cri…
HQL(Hibernate Query Language) 是面向对象的查询语言,它和 SQL 查询语言有些相似.在 Hibernate 提供的各种检索方式中,HQL 是使用最广的一种检索方式,它有如下功能: -在查询语句中设定各种查询条件 -支持投影查询,即检索出对象的部分属性 -支持分页查询 -支持连接查询 -支持分组查询,允许使用 HAVING 和 GROUP BY 关键字 -提供内置聚集函数,如 sum().min().max() -支持子查询 -支持动态绑定参数 -能够调用用户定义的…
Hibernate 提供了以下几种检索对象的方式1导航对象图检索方式: 根据已经加载的对象导航到其他对象(根据已经加载的对象,导航到其他对象-例如一对多的查询)2OID 检索方式: 按照对象的 OID 来检索对象(更具ID查询---find(Id).get(),load())3HQL 检索方式: 使用面向对象的 HQL 查询语言4QBC 检索方式: 使用 QBC(Query By Criteria) API 来检索对象. 这种 API 封装了基于字符串形式的查询语句, 提供了更加面向对象的查询接…
hibernate的Session在加载Java对象时,一般都会把鱼这个对象相关联的其他Java对象也都加载到缓存中,以方便程序的调用.但很多情况下,我们不需要加载太多无用的对象到缓存中,一来会占用大量的内存,二来会增加数据库的访问次数,使得程序的运行效率降低.为了合理的使用缓存,Hibernate提供了不同的检索策略来解决这些问题. 作用域 在说检索策略之前,先了解一下检索策略的作用域,它分为:类级别和关联级别.类级别的作用域在检索数据时,检索的数据只包含一个类对象,不涉及与该类关联的其他对象…
我们在项目应用中对数据进行最多的操作就是查询,数据的查询在所有ORM框架中也占有极其重要的地位. 那么,如何利用Hibernate查询数据呢?Hibernate为我们提供了多种数据查询的方式,又称为Hibernate的检索方式,主要有以下五种,我们来系统地学习一下.         1.导航对象图检索方式.(根据已经加载的对象,导航到其他对象.)         2.OID检索方式.(按照对象的OID来检索对象.)         3.HQL检索方式.(使用面向对象的HQL查询语言.)     …
时间:2017-1-22 16:09 --检索方式Hibernate中提供了以下几种检索对象的方式:    *   导航对象图检索方式        根据已经加载额对象导航到其他对象.        >   Customer customer = (Customer)session.get(Customer.class, 1)            customer.getOrders(); // 得到客户的订单    *   OID检索方式        按照对象的OID来检索对象.     …
一.Hibernate检索方式概述 OID检索方式:按照对象的OID来检索对象(get/load) HQL检索方式:使用面向对象的HQL查询语言 QBC检索方式:使用QBC(Query By Criteria)API来检索对象,这种api封装了基于字符串形式的查询语句,提供了更加面向对象的查询接口(功能较弱) 本地SQL检索方式:使用本地数据库的SQL查询语句. 二.Hibernate检索策略 Hibernate提供了多种查询检索方式,每种方式查询数据的方式与时间段都不同, Hibernate提…
Hibernate的检索方式 检索方式(查询的方式) 导航对象图检索方式: 根据已经加载的对象导航到其他对象 Customer customer = (Customer)session.get(Customer.class,1); customer.getOrders();// 获得到客户的订单 OID 检索方式: 按照对象的 OID 来检索对象 get()/load();方法进行检索. HQL 检索方式: 使用面向对象的 HQL 查询语言 Query query = session.creat…
本节介绍HQL和QBC的高级用法:各种连接查询.投影查询.报表查询.动态查询.集合过滤和子查询等.另外将归纳优化查询程序代码,从而提高查询性能的各种技巧.一.连接查询: HQL与QBC支持的各种连接类型: 在程序中指定的连接查询类型 HQL语法 QBC语法 适用范围 内连接 inner join或者join Criteria.createAlias() 适用于有关联关系的持久化类,并且在映射文件中对这种关联关系做了映射 迫切内连接 inner join fetch或者join fetch 不支持…
Hibernate提供了以下几种检索对象的方式: A.导航对象图检索方式. B.OID检索方式.Session.get() load(); C.HQL检索方式.Query. D.QBC检索方式.Query By Criteria. E.本地SQL检索方式. 一.HQL检索方式:Hibernate Query Language HQL是面向对象的查询语言.它包含以下功能: 1.在查询语句中设定各种查询条件. 2.支持投影查询,即仅检索出对象的部分属性. 3.支持分页查询. 4.支持连接查询. 5.…
Hibernate入门6.Hibernate检索方式 20131128 代码下载 链接: http://pan.baidu.com/s/1Ccuup 密码: vqlv Hibernate的整体框架已经初步掌握,ORM持久层框架核心的是如何高效的和数据库进行交互以及如何交互.包括数据的增删改查.SQL查询还是HQL查询.查询技巧.离线查询等等.本次主要学习的是Hibernate的检索方式. Hibernate检索方式 Hibernate提供了多种查询方式进行各种查询.前面已经了解了session的…
Hibernate的QBC检索方式 一直习惯了Hibernate的HQL查询,一直也觉得挺方便,对于最近项目里出现的QBC(org.hibernate.Criteria接口)也是报着一种看看的心理,因为做j2ee这么久了,也写了一大堆HQL的工具类,起初的心理也只是看看而已Session session =HibernateSessionFactory.currentSession();首先从工厂类中获得一个Session,这个没什么好说的.用myeclipse的人都知道可以自动生成,以及从Th…
Hibernate 提供了以下几种检索对象的方式 导航对象图检索方式:  根据已经加载的对象导航到其他对象 OID 检索方式: 按照对象的OID 来检索对象 HQL 检索方式:使用面向对象的HQL查询语言 QBC 检索方式:使用QBC(Query By Criteria) API来检索对象.这种API 封装了基于字符串形式的查询语句,提供了更加面向对象的查询接口. 本地 SQL 检索方式:使用本地数据库的SQL 查询语句 HQL检索方式包括以下步骤: •通过 Session的createQuer…
http://blog.csdn.net/yerenyuan_pku/article/details/70554816 Hibernate检索方式概述 我们在对数据库的操作中,最常用的是select,那么使用Hibernate如何进行select操作呢?本文就来徐徐道来. Hibernate检索方式可分为5种: 导航对象图检索方式,根据已加载的对象导航到其它对象. OID检索方式,按照对象的OID来检索对象. HQL检索方式,使用面向对象的HQL查询语言. QBC检索方式,使用QBC(Query…
一.概述 二.HQL 2.1 简介 2.2 查询所有记录 2.3 查询使用别名 2.4 排序 2.5 分页查询 2.6 单个对象查询 2.7 参数绑定 2.8 投影操作 2.9 模糊查询 2.10 SQL多表查询 2.11 HQL多表的查询 三.QBC 3.1 简介 3.2 查询所有记录 3.3 排序 3.4分页 3.5获取单个对象 3.6 带参数的查询 3.7 模糊查询 四.SQL 4.1 简介 4.2 SQL语句查询所有记录 一.概述 检索方式:查询的方式 导航对象图检索方式: 根据已经加载…
十一.Hibernate的检索策略 1.概述: 查询的时机:什么时候去查? /** * 一张表的检索策略我们称之为: * 类级别的检索策略. * 注意:只要是说类级别的检索策略,就一定不涉及关联对象. * * 类级别检索策略解决的问题: * 1.查询的时机: * 分为两种情况 * 立即加载:不管用不用,都马上查询出来 * 延迟加载:什么时候用,什么时候去查询.(懒加载,惰性加载) * *常用方法: * get: * 永远都是立即加载.返回的当前实体类的对象. * load * 默认情况下是延迟加…
Hibernate:     insert     into        Customer        (cname)     values        (?)Hibernate:     insert     into        orders        (addr, cno)     values        (?, ?)Hibernate:     insert     into        orders        (addr, cno)     values     …
图二 离线条件查询 Struts 2是web层的框架.session得在dao层才有.有的时候这些数据是没在你的对象里面的.像是否上传简历.这个字段不在我的数据库里面.例如是否上传简历这个条件不在我们的数据库里面.你只是通过你的数据库里面的某个字段判断它是否为空而已.假设这几个字段都没在你的对象(User)里面,你得在web层把这些数据都通过通拿到.假设我的高级查询里面字段特别多呢,传起来特别麻烦.你传统方式只能这样去调用了. 咱们的Criteria得session的session.create…
排序之后是分页查询. 检索单个对象 还可以进行参数的绑定. HQL的参数绑定,按参数名称绑定或者是按参数位置绑定. 还可以用投影的操作,投影的操作是只查询这里面的某几个属性.只查询某一个属性,查询多个属性,查询完以后还把这些属性装到一个实体类对象里面那你就用投影这种形式. 模糊查询 package cn.itcast.test; import java.util.Arrays; import java.util.List; import org.hibernate.Criteria; impor…
前面几篇都是介绍的用配置文件来实现实体类到数据库表的映射,这种方式是比较麻烦的,每一个pojo类都需要写一个相应的*.hbm.xml,无疑增加了很多代码量,不过也有优点就是利于维护,为了方便开发,Hibernate还提供了注解方式配置映射文件,非常灵活,减少了配置文件的冗余,虽然维护起来相对比较麻烦,但是的确很方便开发.现在开发中(据说)也越来越流行使用注解,这里贴一个使用注解开发的小例子. 假设有两张表,一张书籍表Book,一张书籍分类表Category,很明显Book和Category是多对…
hibernate的查询1.HQL方式:所有查询都是根据java对象名来完成,对象名替换表名2.SQL方式:保留原来的sql查询风格3.可以通过设置第一条和最大条数来实现各种数据库的分页查询4.通过BaseDAO来实现dao的代码优化 实例1:hql.sql查询 Test.java package com.dao; import java.util.Date; import java.util.List; import org.hibernate.*; import org.hibernate.…
Hibernate的添加,修改,查询(三种查询方式)的方法: 案例演示: 1:第一步,导包,老生常谈了都是,省略: 2:第二步,创建数据库和数据表,表结构如下所示: 3:第三步创建实体类User.java package com.bie.po; /** * @author BieHongLi * @version 创建时间:2017年3月8日 下午5:17:23 * */ public class User { private int id; private String name; priva…