- 浏览: 698375 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (362)
- java基础 (33)
- html/css+div/javascript (17)
- Ajax/XML/JSON/XSL (7)
- JQuery (11)
- Extjs (1)
- JSP/Servlet (19)
- MVC模式 (4)
- struts 1 (17)
- Struts 2.3.4 (17)
- Spring 3.2 (26)
- Springmvc (3)
- Hibernate 4.1 (21)
- ibatis (6)
- Velocity模板语言 (2)
- Rose框架 (5)
- EJB (1)
- JUnit测试 (2)
- 数据库DB (24)
- 重构 / 设计模式 (3)
- 开发工具IDE (37)
- 数据结构与算法设计 (3)
- Android (12)
- Linux (4)
- bug集合 (29)
- 缓存技术(redis) (3)
- Lucene全文索引 (15)
- maven3.0.5 (4)
- 小工具集合 (18)
- 面试题 (5)
- 闲聊 (11)
- 其他 (4)
- 接口API (2)
- work (2)
- Flex (0)
- JMS (1)
- 开源项目集合 (1)
- 技术博客 (1)
- 分类04 (0)
- 分类05555 (0)
最新评论
-
小小小羊:
好屌...
java.lang.NoClassDefFoundError: org/aspectj/weaver/reflect/ReflectionWorld$Refle -
liubinli2005:
这个可以脱底spring。单独使用吗?
DAO层:jade -
cangbaotu:
我觉得对于开发者来说,能脚本化编写爬虫是一件挺开心的事情( ̄▽ ...
网页爬取 -
asjava:
很好的文章, 但每段代码清单都重复了一次.
spring 事务 -
xia635317478:
jethypc 写道验证码的session无法传过去啊 还是我 ...
登陆验证码(struts2实现)
Hibernate原理
1.hibernate的常用接口 (1) Configucation:负责加载Hibernate的配置及映射信息,启动Hibernate,根据连接到数据库的信息来创建SessionFactory 对象。 (2) SessionFactory: 初始化Hibernate,创建Session对象。他是线程安全的,通常采用单子模式创建此对象。 (3)Session :负责保存·修改·删除·查询·加载对象,这个session不是线程安全的,使用Threadlocal来得到session (相当于创建了一个副本)。 (4)Transaction: 事务处理 开启事务的方法 Transaction tx= session.beginTransaction(); 提交事务 tx.commit(); (5) Query和Criteria:Query是执行数据库查询,Query接口包装了一个HQL语句,HQL语句是面向对象的,它引用类名 和属性名,而不是表名和字段名。Criteria完全封装了基于字符串形式的查询语句,比Query接口更加面向对象,擅长 动态查询。 2.hibernate体系结构 http://blog.csdn.net/titilover/article/details/6920457 3.hibernate的工作原理 (1)hibernate如何连接数据库? 配置文件Hibernate.cfg.xml文件中定义了和数据库进行连接的信息,包括数据库方言.jdbc驱动.用户名.密码和URL等。 Configuration 类借助dom4j的xml解析器进行xml的解析设置环境,然后使用这些环境属性来生成sessionfactory。这样 sessionfactory生成的session 就能够成功获得数据库的连接。 (2)hibernate如何进行数据库写操作? 当保存一个pojo持久化对象时,触发Hibernate保存事件监听器进行处理。Hibernate通过映射文件获得对象对应的数据库 表名以及属性对应的数据库列名,然后通过反射机制获得持久化对象的各个属性,最终组织向数据库插入新对象的SQL的 insert语句。调用session.save()保存数据后这个对象会被标识为持久化状态放在session,当事物进行提交时才真正执行 insert语句。 (3)hibernate如何从数据中载入对象? 当需要读取读取文件时,Hibernate先尝试从session缓存中读取,如果session缓存数据不存在或是脏数据并且配置了二级 缓存,Hibernate尝试从二级缓存中检索数据;否则Hibernate会根据对象类型·主键等信息组织select语句到数据库中读取, 再把select结果组织成对象返回。 (4)hibernate如何进行数据库查询操作? Hibernate提供SQL HQL Criteria查询方式。HQL是其中运用最广泛的查询方式。用户使用session.createQuery()函数以 一条HQL语句为参数创建Query查询对象后,Hibernate会使用Anltr库把HQL语句解析成jdbc可以识别的sql语句。如果设置了 查询缓存,那么执行Query.list()时,Hibernate会先对查询缓存进行查询,如果查询缓存不存在,在使用select语句查询数 据库。
发表评论
-
hibernate缓存总结
2013-09-05 09:54 741hibernate缓存总结 Hibernat ... -
getHibernateTemplate().save和super.getHibernateTemplate().merge
2012-12-05 15:16 2992代码1_save: super.getHibernate ... -
分页查询
2012-12-03 16:57 841HibernateTemplate提供了非常多的常用方法来完成 ... -
mappingResource属性和mappingDirectoryLocations属性的使用
2012-11-19 16:54 632mappingResource属性和mappingDirect ... -
S2SH整合
2012-11-12 16:08 1074Struts2_spring_Hibernate整合 MyE ... -
spring中配置log4j
2012-11-10 16:30 1644log4j 和 slf4j slf4j和log4j用于做日志 ... -
log4j 和slf4j
2012-11-11 20:55 867http://sishuok.com/forum/blogPo ... -
Hibernate两级缓存
2012-10-29 17:01 763Hibernate两级缓存 一级缓存就是Session级别 ... -
数据加载 load get list iterator
2012-10-07 11:14 1067Hibernate的优化-数据加载 除了对映射文件的配置外 ... -
栏目、帖子、回复(设置导航ManyToOne便于操作 QBC/QBE语句)02
2012-10-06 11:39 1073栏目、帖子、回复(设置导航ManyToOne便于操作QBC/Q ... -
栏目、帖子、回复(设置导航便于操作)HQL使用01
2012-10-06 11:28 953栏目、帖子、回复(设置导航ManyToOne便于操作 HQL语 ... -
Many-To-Many (学生、课程、分数)
2012-10-05 17:41 1330Many-To-Many (学生、课程、分数) 多对多: 一个 ... -
树状结构Tree
2012-10-05 17:09 1152树状结构Tree 一、部门类Org.java impo ... -
CUDR_Fetch 和 Cascade
2012-10-05 16:05 4701CUDR_Fetch 和 Cascade 1.Fetch ... -
OneToOne 、OneToMany 、 ManyToMany
2012-10-05 10:31 3520OneToOne OneToMany ManyToMa ... -
ID生成策略
2012-10-04 16:18 3902ID生成策略 1.XX.hbm.xml方 ... -
对象的几种状态
2012-10-04 14:10 1395对象的几种状态 1.Transient 刚new一个 ... -
load 和 get的区别
2012-10-04 11:49 1233session加载数据库数据时,load 和 get 1. ... -
Hibernate 注解和配置文件由ORM框架连接库
2012-10-02 12:30 4186Hibernate 注解和配置文件由ORM框架连接库 xm ... -
Hibernate 实现原理
2012-09-12 23:20 4175整体流程 1:通过configuration来读cfg.xml ...
相关推荐
Struts、Spring和Hibernate是Java开发中非常著名的三个开源框架,它们共同构成了经典的"SSH...通过阅读《Struts + Spring + Hibernate工作原理解析》文档,你可以更系统地掌握这些知识,为你的项目开发带来极大的帮助。
### Struts、Spring、Hibernate工作原理详解 #### Struts 工作原理与应用场景 **Struts** 是一个基于MVC(Model-View-Controller)设计模式的开源框架,主要用于简化Web应用的开发过程。它利用了JSP和Servlet技术...
### Hibernate工作原理详解 #### 一、概述 Hibernate 是一款开放源代码的 ORM(Object Relational Mapping)框架,它能够将 Java 类与数据库表建立映射关系,从而简化了持久层的操作。通过 Hibernate,开发人员...
**Hibernate原理与配置快速入门** Hibernate 是一个流行的Java对象关系映射(ORM)框架,它为开发者提供了一种在Java应用程序中操作数据库的便捷方式,消除了传统的JDBC编码的繁琐性。本教程将带你快速了解...
首先,让我们详细了解SSH框架的各层及其工作原理: 1. **表现层(Presentation Layer)**: - 使用Struts框架,它遵循MVC(Model-View-Controller)设计模式。Struts控制器接收用户请求,调度业务逻辑并返回响应到...
【标题】:“Hibernate、Spring和Struts工作原理及使用理由” 【内容】: Hibernate是一个流行的Java持久化框架,它的核心工作原理主要包括以下步骤: 1. **读取并解析配置文件**:Hibernate通过读取hibernate....
Hibernate 工作原理及为什么要用 Hibernate 作为一个开放源代码的对象关系映射框架,对 JDBC 进行了轻量级的对象封装,使 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。下面将详细介绍 Hibernate 的...
3. Hibernate工作原理: Hibernate 是一个流行的Java ORM(Object-Relational Mapping)框架,它简化了数据库操作,使开发者能够以面向对象的方式处理数据。其工作流程如下: - 应用程序创建SessionFactory,这是...
Hibernate原理流程
【Hibernate工作原理】 Hibernate是一个ORM(Object-Relational Mapping)框架,它将Java对象与关系数据库的数据进行映射,实现了对象与数据库之间的一套映射规则。其主要工作流程包括: 1. 加载并解析配置文件和...
理解这些状态对于掌握Hibernate的工作原理至关重要。 9. **实体关系映射** Hibernate支持多种关系映射,如一对一、一对多、多对一和多对多,包括集合映射、联合主键映射等,使得复杂的数据关系得以轻松管理。 10....
在"Hibernate 原理与应用 ppt"中,主要讲解了Hibernate的基本概念、安装配置、CURD操作、关联映射、继承映射、懒加载、HQL和Criteria查询、缓存管理、事务处理以及最佳实践和与JPA的集成。 **安装配置** 在开始使用...
Hibernate原理与配置快速入门 博文链接:https://linde13652.iteye.com/blog/162777
### Hibernate原理与配置快速入门 #### Hibernate核心API与基本配置概览 Hibernate 是一款流行的 Java 持久层框架,其主要功能是提供对象关系映射(Object Relational Mapping,简称 ORM)的能力,使得开发人员...
**Hibernate原理** Hibernate是一款强大的Java持久化框架,它简化了数据库操作,使开发者可以更加专注于业务逻辑而不是数据库交互。在本文中,我们将深入探讨Hibernate的核心API、基本配置以及其工作原理。 **一、...
《Hibernate原理与应用》 Hibernate 是一款流行的Java ORM(对象关系映射)框架,它解决了在面向对象编程中模型与关系数据库之间的“阻抗不匹配”问题。在Java应用程序中,我们通常使用对象来表示业务逻辑,而...
【Hibernate原理与实现简介】 Hibernate 是一款流行的Java平台上的对象关系映射(ORM)框架,它的主要作用是简化数据库操作,将复杂的SQL语句和Java对象之间的转换工作自动化,从而提高开发效率。Hibernate通过将...
### Hibernate原理详细解说 #### Hibernate概述 Hibernate 是一个开源的对象关系映射(Object Relational Mapping,简称 ORM)框架,用于 Java 应用程序与关系型数据库之间的交互。它通过将对象模型与数据库模型...