- 浏览: 787222 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (981)
- javascript (102)
- java (212)
- JQuery (81)
- 幽默笑话 (2)
- 只言片语 (6)
- 开发小记 (283)
- Hibernate (17)
- DWR (4)
- SQL (10)
- spring-ibatis (8)
- linux (24)
- Struts1 (8)
- Struts2 (16)
- spring (42)
- Mybatis (16)
- css (18)
- servlet (8)
- jdbc (4)
- jsp (1)
- spring-jdbc (2)
- FreeMarker (2)
- MySQL (24)
- JQuery-Grid (7)
- jstl (5)
- 正则表达式 (1)
- 面试集锦 (86)
- unix (18)
- 开发工具 (23)
- ajax (5)
- webservice (4)
- log4j (3)
- oracle (15)
- extjs (14)
- 其他 (9)
- 优秀技术参考地址 (1)
- 性能 (3)
- 数据库 (25)
- 算法 (15)
- 设计模式 (10)
- Python (3)
- AIX (5)
- weblogic (1)
- shell (14)
- quartz (5)
- 图形文件FusionCharts (1)
- Websphere (4)
- 转载 (5)
- hadoop (1)
- highchart (24)
- perl (22)
- DB2 (7)
- JBoss (1)
- JQuery Easy UI (9)
- SpringMVC (5)
- ant (5)
- echart (9)
- log4J配置 (3)
- 多线程 (10)
- 系统架构 (7)
- nginx (3)
- loadrunner1 (1)
- 分布式 (1)
- Dubbo (1)
- Redis (2)
- JMS (4)
- 自动化测试 (3)
- Spring循环依赖的三种方式 (1)
- spring-boot (2)
- 高级测试 (9)
- github (2)
- sonar (1)
- docker (6)
- web前端性能优化 (1)
- spring-aop (6)
- rabbit (1)
- ELK (1)
- maven (1)
- minio (1)
最新评论
-
zengshaotao:
jstl1point0 写道很好啊,如果有带Session会话 ...
Nginx+Tomcat搭建高性能负载均衡集群 -
jstl1point0:
很好啊,如果有带Session会话的怎么搞呢
Nginx+Tomcat搭建高性能负载均衡集群
1、简单属性查询【重要】
* 单一属性查询,返回结果集属性列表,元素类型和实体类中相应的属性类型一致
* 多个属性查询,返回的集合元素是对象数组,数组元素的类型和对应的属性在实体类中的类型一致
数组的长度取决与select中属性的个数
* 如果认为返回数组不够对象化,可以采用hql动态实例化Student对象
* 单一属性查询,返回结果集属性列表,元素类型和实体类中相应的属性类型一致
* 多个属性查询,返回的集合元素是对象数组,数组元素的类型和对应的属性在实体类中的类型一致
数组的长度取决与select中属性的个数
* 如果认为返回数组不够对象化,可以采用hql动态实例化Student对象
2、实体对象查询【重要】
* N + 1问题,在默认情况下,使用query.iterate查询,有可以能出现N+1问题
所谓的N+1是在查询的时候发出了N+1条sql语句
1: 首先发出一条查询对象id列表的sql
N: 根据id列表到缓存中查询,如果缓存中不存在与之匹配的数据,那么会根据id发出相应的sql语句
* list和iterate的区别?
* list每次都会发出sql语句,list会向缓存中放入数据,而不利用缓存中的数据
* iterate:在默认情况下iterate利用缓存数据,但如果缓存中不存在数据有可以能出现N+1问题
* N + 1问题,在默认情况下,使用query.iterate查询,有可以能出现N+1问题
所谓的N+1是在查询的时候发出了N+1条sql语句
1: 首先发出一条查询对象id列表的sql
N: 根据id列表到缓存中查询,如果缓存中不存在与之匹配的数据,那么会根据id发出相应的sql语句
* list和iterate的区别?
* list每次都会发出sql语句,list会向缓存中放入数据,而不利用缓存中的数据
* iterate:在默认情况下iterate利用缓存数据,但如果缓存中不存在数据有可以能出现N+1问题
45.hibernate支持对象化的查询。hql是中立的查询语句,通过配置方言,生成本地的sql语言。
from User user where user.group.name='amdin';支持对象的导航查询模式。
hql关键字不区分大小写,但是类名和属性是区分大小写的。
hql关键字不区分大小写,但是类名和属性是区分大小写的。
46.对于单个属性的查询,list里面元素的类和相应的实体类属性的类型是一致的。
比如属性类型是String的,那么list。get(i)就是string。查询多个属性的话,list里面 的数据
比如属性类型是String的,那么list。get(i)就是string。查询多个属性的话,list里面 的数据
就是Object[],即是对象数组。list的个数就是查询的记录总数。里面数组元素的长度是hql里面查
询的属性的个数。
select new Student(id,name) from Student 对象化查询,返回的list里面的元素就都是student
对象。这是要求student对象有对应的构造函数,这里是2个参数。
当然也是可以使用别名的。
当然也是可以使用别名的。
select s.id,s.name from Student as s
47.可以单独查询实体 from Student ,返回的是对象数组的集合,所有的属性全部查出。
查询实体对象必须使用别名,对于as ,则可以使用或者不使用。
查询实体对象必须使用别名,对于as ,则可以使用或者不使用。
不能select * from 实体类名 ,必须配合函数,如count(*)才可以。
48.N+1问题,1是指发出一条查询id的语句,N是指根据查询出的id来查询对应的实体记录。
使用迭代查询可以使用一级缓存(Session级别的缓存),缓存没有数据才去数据库查询。
但是list查询只会将数据放入缓存,而不会使用缓存(除非配置了查询缓存,默认不会利用缓存)
使用迭代查询可以使用一级缓存(Session级别的缓存),缓存没有数据才去数据库查询。
但是list查询只会将数据放入缓存,而不会使用缓存(除非配置了查询缓存,默认不会利用缓存)
。
迭代查询首先会发出查询id的sql,若是缓存没有数据,才根据id去数据库查询实体对象。
对于list,直接发送查询实体的语句,不会发出查询id的语句。
迭代查询首先会发出查询id的sql,若是缓存没有数据,才根据id去数据库查询实体对象。
对于list,直接发送查询实体的语句,不会发出查询id的语句。
使用iterate查询,可能出现N+1问题,缓存有数据则不会。N+1是指发出了N+1条sql
发表评论
-
面向切面的ssh架构
2014-04-21 21:31 703<?xml version="1.0&quo ... -
Hibernate,Mybatis优缺点
2014-02-25 22:46 19461.优点 简单: ... -
父窗口参数在非子模态窗口的应用
2013-08-08 21:20 929说明: 通过window.dialogArguments就可以 ... -
Hibernate经典问题
2013-07-18 22:45 4751.Hibernate有哪几种查询 ... -
多对一
2013-06-10 19:55 864datasource配置文件: hibernate.cfg ... -
Hibernate 多对一 left join
2013-05-29 17:33 1459hibernate的hql是一种中立的数据库查询语言,会随着 ... -
Hibernate的5个核心接口
2013-04-09 12:31 924所有的Hibernate应用中都会访问Hibernate的 ... -
hibernate应用实例
2013-04-07 23:09 1122一、在Java应用中使用Hibernate的步骤 创建H ... -
Hibernate
2013-03-17 18:59 867import java.util.Date; import ... -
Hibernate
2013-03-17 18:53 767junit简介: * 编写测试类xxxTest,需要继承Te ... -
Hibernate编程式事务
2013-02-01 22:53 777编程式事务 将session保存到当前线程中,而不用说将se ... -
Hibernate 关联映射
2012-11-26 14:05 854identity 是mysql主 ... -
Hibernate 对象查询
2012-11-26 14:06 889import java.util.Iterator;impor ... -
Hibernate 查询例子
2012-11-26 14:06 1134import java.text.SimpleDateForm ... -
Hibernate 概述 笔记
2012-11-25 11:20 889hibernate三 ... -
Hibernate
2012-11-10 22:18 943Hibernate先查询数据,确实要消耗一些时间,但是sele ...
相关推荐
在深入探讨《hibernate笔记.txt》所提及的关键知识点前,我们先来解析一下标题和描述中的核心概念。“自上而下的依赖,单向依赖,层与层之间最好依赖抽象”,这一描述实际上触及了软件架构设计中的关键原则,特别是...
《韩顺平.2011版.hibernate笔记》是一份针对Hibernate框架的详细学习资料,由知名IT讲师韩顺平在2011年编撰而成。Hibernate是Java开发领域中广泛使用的对象关系映射(ORM)框架,它极大地简化了数据库操作,使开发者...
【传智播客 Hibernate 笔记】是一份深入学习 Hibernate ORM 框架的资源集合,包括了 word 笔记、pdf 讲义、源代码以及相关分析图表和 jar 包,旨在帮助开发者全面理解并掌握 Hibernate 的核心概念与实际应用。...
《Hibernate笔记完整版》 在Web开发领域,Hibernate作为三大框架之一,扮演着至关重要的角色。本文将全面介绍Hibernate,包括其数据持久化的概念、优缺点对比,以及Hibernate的核心概念和编程步骤。 对象持久化是...
《韩顺平Hibernate笔记》是一份详尽记录了著名IT讲师韩顺平关于Hibernate框架讲解内容的资料集合。Hibernate作为Java领域中广泛使用的对象关系映射(ORM)框架,极大地简化了数据库操作,使得开发者可以更加专注于...
《韩顺平Hibernate笔记》是一份详尽的关于Hibernate框架的学习资料,由知名IT教育专家韩顺平编撰。Hibernate是Java开发中的一个强大的对象关系映射(ORM)框架,它简化了数据库与Java对象之间的交互,使得开发者可以...
Hibernate 是一个开源的对象关系映射(ORM)框架,它允许Java开发者使用面向对象的方式来操作数据库。这个框架将数据库操作转化为对Java对象的操作,简化了数据持久化的复杂度。以下是对Hibernate的一些关键知识点的...
### 尚学堂Hibernate笔记知识点详解 #### 一、项目初始化与环境搭建 1. **新建项目**:在IDE中创建一个新的Java项目。 2. **构建用户库并添加所需的JAR包**: - 右键点击项目 -> `Build Path` -> `Configure ...
培训期间的hibernate笔记 hibernate笔记 达内培训
hibernate笔记.pdf
总结起来,"韩顺平hibernate笔记及图解"涵盖了Hibernate的基础概念、核心组件、对象关系映射、查询机制、事务管理以及实体间的关系等内容。通过学习这份笔记,开发者能深入理解Hibernate的工作原理和使用技巧,提升...
【Spring+Hibernate笔记】这篇文档主要涵盖了在Web开发中使用Spring和Hibernate的基础知识。首先,我们从Spring的Hello World开始,了解如何配置JSP运行环境。 1.1. 配置JSP运行环境是开发Web应用的第一步。这包括...
【马士兵Hibernate笔记】是一份面向初学者的教程,旨在帮助读者深入了解Hibernate这一持久化框架。Hibernate是一个基于Java的ORM(对象关系映射)工具,它允许开发者将数据库操作转换为面向对象的方式,从而简化了...