Hibernate
xdwangiflytek
一个喜欢编程的普通人
展开
-
Hibernate3.6.2 基本概念和体系结构
Hibernate ,一个开源的对象关系映射 ( ORM Object Relation Mapping )框架,即将关系型数据库转换为对象。 Hibernate 对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思想来操作数据库(即采用面向对象的方式来操作关系型数据库),所以 Hibernate 可以应用在任何使用 JDBC ...原创 2012-07-03 00:44:52 · 193 阅读 · 0 评论 -
12-Hibernate3.6.2 事件机制
Hibernate执行持久化过程中,应用程序无法参与其中。所有的数据持久化操作,对用户都是透明的。通过事件框架,Hibernate允许应用程能响应特定的内部事件,从而允许实现某些通用的功能或者对Hibernate功能进行扩展。 Hibernate的事件机制框架由两个部分组成: 1、拦截器机制:对于特定动作拦截,回调应用中的特定动作 2、事件系...原创 2013-03-26 08:43:24 · 95 阅读 · 0 评论 -
11-Hibernate3.6.2 懒加载分析
懒加载是指程序推迟访问数据库,这样做可以保证有时候不必要的访问数据库,提供性能。 一、load方法的懒加载 public class UserManager { public static void main(String[] args) { Users user = new Users(); user.setBirthday(new ...原创 2013-03-25 09:19:43 · 81 阅读 · 0 评论 -
10-Hibernate3.6.2 缓存
对于Hibernate深层次的运用,缓存是必不可少的。因为利用缓存,可以提高Hibernate的性能。使用缓存涉及到三个操作:把数据放入缓存、从缓存中取数据、删除缓存中的无效数据。 一、一级缓存 一级缓存是Session级共享的,对于一级缓存而言,所有经过Session操作的实体,不管是使用save()、update()或者saveOrUpdate()保存一个对象,还是使用load...原创 2013-03-24 13:58:31 · 72 阅读 · 0 评论 -
09-Hibernate3.6.2 批量处理
前面我们总结了Hibernate的查询操作,今天我们来说说Hibernate的批量处理。 Hibernate完全以面向对象的方式操作数据库,当程序里以面向对象的方式操作持久化对象时,将被自动转换为对数据库的操作,例如调用Session的delete()方法来删除持久化对象,Hibernate将负责删除对应的数据记录;当执行持久化对象的set方法时,Hibernate将...原创 2013-03-22 02:34:04 · 84 阅读 · 0 评论 -
08-Hibernate3.6.2 查询02 by SQL QBC QBE
在前面总结了Hibernate的查询方式和HQL查询(07-Hibernate3.6.2 查询 by HQL),今天来总结剩下三种方式,SQL 、QBC、QBE 一、SQL 其实在上一篇总结中已经提到了NativeSQL查询,只是简单提了一下,这里还想单独提出来总结一下。 Hibernate对原生SQL查询执行的控制是通过SQLQuery接口进行的,通过执行Session....原创 2013-03-21 08:44:08 · 121 阅读 · 0 评论 -
07-Hibernate3.6.2 查询01 by HQL
在Hibernate中可以使用以下方式进行查询: NativeSQL:不能实现跨数据库,本地的数据库语言 HQL:Hibernate自带的查询语言,将HQL语言根据方言进行转换SQL EJBQL(JPQL1.0):可以认为是HQL的子集(这部分用的最多) QBC(Query by Criteria):按条件查...原创 2013-03-20 08:45:51 · 113 阅读 · 0 评论 -
Hibernate3.6.2 关系映射(重点)
Hibernate 的映射关系,个人认为是非常重要的部分,映射关系的配置是在把握整体项目中所有实体之间的关联关系的基础上进行的,以前做项目时,在写这些映射文件时,总是对着 UML 图一个个仔仔细细的写。 Ok ,废话少说,上代码说明。 先说明几点 1 、关联关系的本质是将关联关系映射到数据库,所谓的关联关系是对象模型在内存中的一个或多个...原创 2012-07-14 00:14:25 · 75 阅读 · 0 评论 -
Hibernate3.6.2 主键生成策略
在上篇博文中少提了一点,Hibernate 主键的生成策略,这里简单记录一下。 首先先了解一下主键生成策略,就是指主键生成器,负责生成数据表记录的主键。 1 、自动增长identity identity 由底层数据库于为long 、short 、int 类型生成唯一标识...原创 2012-07-13 00:47:58 · 83 阅读 · 0 评论 -
Hibernate3.6.2 配置文件
凡是框架,就避免不了配置文件( or 注解),而 Hibernate 的配置文件是需要我们非常细心的,如果 Hibernate 配置文件配置的很精确的话,对数据库的操作是很方便的。 Hibernate 中的配置主要分为两种,一种是包含了 Hibernate 与数据库的基本连接信息,在 Hibernate 工作的初始阶...原创 2012-07-12 00:09:46 · 82 阅读 · 0 评论 -
Hibernate3.6.2 原理、开发步骤持久层对象生命周期
1. 读取并解析配置文件 Hibernate 的初始化 , 读取Hibernate 的配置信息-->创建SessionFactory //采用默认的hibernate.cfg.xml来启动一个Configuration的实例 例 : Configuration configuration = new Configuration()...原创 2012-07-10 00:16:53 · 116 阅读 · 0 评论 -
Hibernate3.6.2 核心接口
使用Hibernate 框架之前,首先需要我们对Hibernate 的核心接口,其核心接口一共有5 个,分别是Session 、SessionFactory 、Transaction 、Query 和Configuration 。在5 个接口中在一般的项目开发中都会使用到,通过这些接口可以对持久化对象进行存取,事务的控制等。下面分别对这...原创 2012-07-06 00:49:49 · 72 阅读 · 0 评论 -
13-Hibernate3.6.2 悲观锁和乐观锁
在使用Hibernate的过程中,我们会遇到多人对同一个数据同时进行修改,这个时候就会产生脏数据,造成数据的不一致性。为了避免更新数据的丢失,Hibernate采用了锁的机制。 Hibernate提供了两种锁的机制:悲观锁和乐观锁 悲观锁:在数据有加载的时候就给其进行加锁,直到该锁被释放掉,其他用户才可以进行修改; 乐观锁:在对...原创 2013-03-27 09:46:30 · 99 阅读 · 0 评论