Hibernate检索学习】的更多相关文章

Hibernate的检索策略:类级别的检索策略:1对多,多对多的检索策略:多对一,一对一的检索策略 1.类级别的检索策略,可以通过class元素的lazy属性来设置,该设置只对load方法有效果 2.1对多,多对多的检索策略(默认开启懒加载):通过set元素的三个属性来控制,查询1方带出n方:lazy定义多方集合初始化的时机:fetch定义查询多方时sql的形式(select/subselect),如果取值为join则定义多方集合初始化的时机,这个会覆盖lazy属性的值,即忽略lazy的设置:b…
Hibernate入门6.Hibernate检索方式 20131128 代码下载 链接: http://pan.baidu.com/s/1Ccuup 密码: vqlv Hibernate的整体框架已经初步掌握,ORM持久层框架核心的是如何高效的和数据库进行交互以及如何交互.包括数据的增删改查.SQL查询还是HQL查询.查询技巧.离线查询等等.本次主要学习的是Hibernate的检索方式. Hibernate检索方式 Hibernate提供了多种查询方式进行各种查询.前面已经了解了session的…
hibernate框架技术重点学习笔记 1.针对不同的数据库,有不同的数据库实现类,使其符号对应的数据库? mysqlDaoImpl oracleDaoImpl ... ... 2.对象和表记录的转换存在着转换问题->orm,对象和关系的一种映射 3.框架:解决一种问题的方案集合! 4..配置文件 Xxx.cfg.xml  主配置文件 xxx.hbm.xml映射文件: 映射基础 普通属性 主键 集合属性 关联关系:一对多  多对一 多对多  一对一 继承结构 5.其他特性:数据库连接池  懒加载…
一.Hibernate 的检索策略本质上是为了优化 Hibernate 性能. 二.Hibernate 检索策略包括类级别的检索策略.和关联级别的检索策略(<set> 元素) 三.类级别的检索策略 1. 立即检索.延迟检索 2. 通过 <class> 节点的 lazy 属性来控制.默认为 true,即为延迟检索. 3. 只针对 session 的 load() 方法生效. 默认情况下,通过 load() 方法获取到的对象是一个代理对象,Hibernate 创建代理对象时,仅会初始化…
1.Hibernate检索方式 检索方式简介: 导航对象图检索方式:根据已经加载的对象,导航到其他对象.OID检索方式:按照对象的OID来检索对象.Session 的 get() 和 load() 方法提供了这种功能. HQL检索方式:使用面向对象的HQL查询语言.QBC检索方式:使用QBC(Query By Criteria)API来检索对象.这种API封装了基于字符串形式的查询语句,提供了更加面向对象的接口.本地SQL检索方式:使用本地数据库的SQL查询语句. HQL简介: HQL是一种面向…
Hibernate进阶学习4 深入学习hibernate的查询语句 测试HQL查询 package com.hibernate.test; import com.hibernate.domain.Customer; import com.hibernate.utils.HibernateUtils; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.Transaction; import…
Hibernate进阶学习3 测试hibernate的多表关联操作(一对多,多对一,多对多) 表之间的关系主要在类与元数据配置文件中体现 package com.hibernate.domain; import java.util.HashSet; import java.util.Set; public class Customer { private Long cust_id; private String cust_name; private String cust_source; pri…
Hibernate基础学习2 测试hibernate的一级缓存,事务以及查询语句 1)Hibernate的一些相关概念 hibernate的一级缓存 1)缓存是为了提高该框架对数据库的查询速度 2)一级缓存是将获取的结果放到了session中,再次查询直接从缓存中获取(提高查询效率) 3)缓存进阶之快照:将获取的一份结果放到session中,一份放到快照中,当修改时,对比快照与缓存, 如果数据没有发生变化,直接结束修改(避免不必要的修改) hibernate的事务 在业务开始之前打开事务,在业务…
http://blog.csdn.net/yerenyuan_pku/article/details/70554816 Hibernate检索方式概述 我们在对数据库的操作中,最常用的是select,那么使用Hibernate如何进行select操作呢?本文就来徐徐道来. Hibernate检索方式可分为5种: 导航对象图检索方式,根据已加载的对象导航到其它对象. OID检索方式,按照对象的OID来检索对象. HQL检索方式,使用面向对象的HQL查询语言. QBC检索方式,使用QBC(Query…
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------…
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------…
一.概述      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…
序言 很多看起来很难的东西其实并不难,关键是看自己是否花费了时间和精力去看,如果一个东西你能看得懂,同样的,别人也能看得懂,体现不出和别人的差距,所以当你觉得自己看了很多书或者学了很多东西的时候,你要想想,你花费的也就那么一点时间,别人花你这么多时间也能够学到你所学到的东西,所以还是要继续努力.既然不是天才,唯有靠勤奋来弥补. --WH 一.概述 检索策略分三大块,类级别检索策略和关联级别检测策略. 类级别检索策略:get.load. 关联级别检索策略:order.getCustomer().g…
我们在项目应用中对数据进行最多的操作就是查询,数据的查询在所有ORM框架中也占有极其重要的地位.那么,如何利用Hibernate查询数据呢?Hibernate为我们提供了多种数据查询的方式,又称为Hibernate的检索方式,主要有以下五种,我们来系统地学习一下. 1.导航对象图检索方式.(根据已经加载的对象,导航到其他对象.) 2.OID检索方式.(按照对象的OID来检索对象.) 3.HQL检索方式.(使用面向对象的HQL查询语言.) 4.QBC检索方式.(使用QBC(Qurey By Cri…
一.Hibernate持久化类的编写规范 1.什么是持久化类 Hibernate是持久层的ORM影射框架,专注于数据的持久化工作.所谓持久化,就是将内存中的数据永久存储到关系型数据库中.那么知道了什么是持久化,什么又是持久化类呢?其实所谓的持久化类指的是一个Java类与数据库表建立了映射关系,那么这个类称为是持寺久化类.其实可以简单的理解为持久化类就是一个Java类有了一个映射文件与数据库的表建立了关系.那么我们在编写持久化类的时候有哪些要求呢?接下来我们来看一下: 2.持久化类的编写规则(应该…
我们在项目应用中对数据进行最多的操作就是查询,数据的查询在所有ORM框架中也占有极其重要的地位. 那么,如何利用Hibernate查询数据呢?Hibernate为我们提供了多种数据查询的方式,又称为Hibernate的检索方式,主要有以下五种,我们来系统地学习一下.         1.导航对象图检索方式.(根据已经加载的对象,导航到其他对象.)         2.OID检索方式.(按照对象的OID来检索对象.)         3.HQL检索方式.(使用面向对象的HQL查询语言.)     …
前言: 最近也在学习Hibernate,遇到的问题差不多都解决了,顺便把学习过程遇到的问题和查找的资料文档都整理了一下分享出来,也算是能帮助更多的朋友们了. 最开始使用的是经典的MyEclipse,后面我用的是JetBrains的IDEA了,个人比较喜欢这些快捷键.偷懒程序员必备啊,哈哈. 目录: Hibernate 系列 01 - 框架技术 (介绍Hibernate框架的发展由来) Hibernate 系列 02 - Hibernate介绍及其环境搭建 Hibernate 系列 03 - 使用…
最近一直在学习ssh框架,为了更方便hibernate的使用,所以在eclipse下载hibernate插件,安装插件有两种方法 第一种:本地安装 1).插件的官网下载地址:http://tools.jboss.org/downloads/,选择你要安装的插件,如图所示: 2).打开eclipse->help->Install New Software->Add 3).选择你需要要安装的插件.不要勾选更新,否则需要联网下载,然后一直next就好了! 第二种:在线安装: Help >…
序言 很多看起来很难的东西其实并不难,关键是看自己是否花费了时间和精力去看,如果一个东西你能看得懂,同样的,别人也能看得懂,体现不出和别人的差距,所以当你觉得自己看了很多书或者学了很多东西的时候,你要想想,你花费的也就那么一点时间,别人花你这么多时间也能够学到你所学到的东西,所以还是要继续努力.既然不是天才,唯有靠勤奋来弥补. --WH 一.概述 检索策略分三大块,类级别检索策略和关联级别检测策略. 类级别检索策略:get.load. 关联级别检索策略:order.getCustomer().g…
延迟加载:延迟加载(lazy load懒加载)是当在真正需要数据时,才执行SQL语句进行查询.避免了无谓的性能开销. 延迟加载分类:  1.类级别的查询策略 2.一对多和多对多关联的查询策略 3.多对一关联的查询策略 什么情况下使用延迟加载? 如果程序加载一个对象的目的是为了访问它的属性,可以采用立即加载.如果程序加载一个持久化对象的目的是仅仅为了获得它的引用,可以采用延迟加载. 如何配置延时加载? 在Hibernate中通过对.hbm的lazy属性来赋值,不同位置出现lazy的作用和取值也是不…
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…
概述 检索数据时的 2 个问题: –不浪费内存:当 Hibernate 从数据库中加载 Customer 对象时, 如果同时加载所有关联的 Order 对象, 而程序实际上仅仅需要访问 Customer 对象, 那么这些关联的 Order 对象就白白浪费了许多内存. –更高的查询效率:发送尽可能少的 SQL 语句 类级别的检索策略 •类级别可选的检索策略包括立即检索和延迟检索, 默认为延迟检索 –立即检索: 立即加载检索方法指定的对象 –延迟检索: 延迟加载检索方法指定的对象.在使用具体的属性时…
一.查询方法中get方法采用策略是立即检索,而load方法采用策略是延迟检索,延迟检索是在使用数据时才发送SQL语句加载数据 获取延迟加载数据方式:1.使用的时候,如果Customer c=session.load(Customer.class,1);//加载id为1的客户,此时是延迟加载,返回的是代理对象,当使用的时候加载数据,如c.getName(); 2.调用Hibernate.initialize(c);方法,初始化对象,也可加载到数据 二.类级别检索策略 包括立即检索和延迟检索,即使用…
1.非集成Spring hibernate的检索方式,主要有以下五种. 1.导航对象图检索方式.(根据已经加载的对象,导航到其他对象.) 2.OID检索方式.(按照对象的OID来检索对象.) 3.HQL检索方式.(使用面向对象的HQL查询语言.) 4.QBC检索方式.(使用QBC(Qurey By Criteria) API来检索对象.) 5.本地SQL检索方式.(使用本地数据库的SQL查询语句.) 1.导航对象图检索方式 利用类与类之间的关系来检索对象.譬如我们要查找一份订单,就可以由订单对象…
1. Hibernate的检索策略概述: 检索数据时的 2 个问题:    1.不浪费内存:当 Hibernate 从数据库中加载 Customer 对象时, 如果同时加载所有关联的 Order 对象, 而程序实际上仅仅需要访问 Customer 对象, 那么这些关联的 Order 对象就白白浪费了许多内存.    2.更高的查询效率:发送尽可能少的 SQL 语句 2. Hibernate的检索策略主要分3种情况:类级别的检索策略.1-n或n-n对应的检索策略.n-1或1-1对应的检索策略 3.…
所有项目导入对应的hibernate的jar包.mysql的jar包和添加每次都需要用到的HibernateUtil.java 这里的hibernate.cfg.xml配置信息我就不再写了 第一节:检索策略属性Lazy Lazy:true (默认) 延迟检索:set 端一对多 Lazy:false 立即检索:set 端一对多 Lazy:extra 增强延迟检索: set 端一对多 Lazy:proxy(默认) 延迟检索:many-to-one 多对一 Lazy:no-proxy 无代理延迟检索:…
一.单向n-1 单向n-1关联只需从n的一端可以访问1的一端. 域模型: 从Order到Customer的多对一单向关联.Order类中定义一个Customer属性,而在Customer类不用存放Order对象的引用.      Order.java public class Order{ private Integer uid; private String name; private Customer cus; //省略get.set方法 } Customer.java public cla…
一.概述      Session接口是Hibernate向应用程序提供的操纵数据库最主要的接口,它提供了基本的保存.更新.删除和加载Java对象的方法.      Session具有一个缓存,位于缓存中的对象称为持久化对象,它和数据库相关记录对应.      Session能够在某些时间点按照缓存中对象的变化来执行相关SQL语句,来同步更新数据库,这一过程称为清理缓存(flush).   二.Session的缓存 1.理解     如果希望一个Java对象A一直处于生命周期中,就必须保证至少有…
     前面的相关文章中,我们已经介绍了使用XML配置文件映射实体类及其各种类型的属性的相关知识.然而不论是时代的潮流还是臃肿繁杂的配置代码告诉我们,注解配置才是更人性化的设计,于是学习了基本的映射实体类的基本注解,此处做一点总结,后续文章将陆续更新使用注解的方式管理配置各种映射关联关系.本篇主要涉及以下内容: 使用最基本的注解映射一个实体类 使用注解映射属性 使用注解映射主键 其他特殊类型的属性映射 一.使用最基本的注解映射一个实体类 @Entity @Table(name = "userI…