`

hibernate4之核心API

 
阅读更多

 

Configuration 类

 

Configuration 类负责管理 Hibernate 的配置信息。包括如下内容:

 

-Hibernate 运行的底层信息:数据库的URL、用户名、密码、JDBC驱动类,数据库Dialect,数据库连接池等(对应 hibernate.cfg.xml 文件)。

-持久化类与数据表的映射关系(*.hbm.xml 文件)

 

创建 Configuration 的两种方式

 

属性文件(hibernate.properties):

 

Configuration cfg = new Configuration();

 

Xml文件(hibernate.cfg.xml)

 

Configuration cfg = new Configuration().configure();

 

Configuration 的 configure 方法还支持带参数的访问:

 

File file = new File(“simpleit.xml”);
Configuration cfg = new Configuration().configure(file);

 

SessionFactory 接口

 

针对单个数据库映射关系经过编译后的内存镜像,是线程安全的。 

SessionFactory 对象一旦构造完毕,即被赋予特定的配置信息

SessionFactory是生成Session的工厂

构造 SessionFactory 很消耗资源,一般情况下一个应用中只初始化一个 SessionFactory 对象。

Hibernate4 新增了一个 ServiceRegistry 接口,所有基于 Hibernate 的配置或者服务都必须统一向这个 ServiceRegistry  注册后才能生效

Hibernate4 中创建 SessionFactory 的步骤

 

		//1. 创建 Configuration对象:对应 hibernate的基本配置信息和 对象关系映射信息
		Configuration cfg = new Configuration().configure();

		//2. 创建一个 ServiceRegistry 对象: hibernate 4.x 新添加的对象.hibernate 的任何配置和服务都需要在该对象中注册后才能有效.
		ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(cfg.getProperties()).buildServiceRegistry();

		//3. 创建一个 SessionFactory 对象
		SessionFactory sessionFactory = cfg.buildSessionFactory(serviceRegistry);

 

Session 接口

 

Session 是应用程序与数据库之间交互操作的一个单线程对象,是 Hibernate 运作的中心,所有持久化对象必须在 session 的管理下才可以进行持久化操作。此对象的生命周期很短。Session 对象有一个一级缓存,显式执行 flush 之前,所有的持久层操作的数据都缓存在 session 对象处。相当于 JDBC 中的 Connection。

 

持久化类与 Session 关联起来后就具有了持久化的能力。

 

Session 类的方法:

取得持久化对象的方法: get(),load()

持久化对象都得保存,更新和删除:save(),update(),saveOrUpdate(),delete()

开启事务: beginTransaction().

管理 Session 的方法:isOpen(),flush(), clear(), evict(), close()等

 

Transaction(事务)

 

代表一次原子操作,它具有数据库事务的概念。所有持久层都应该在事务管理下进行,即使是只读操作。 

 

Transaction tx = session.beginTransaction();

 

常用方法:

commit():提交相关联的session实例

rollback():撤销事务操作

wasCommitted():检查事务是否提交

 

Hibernate 配置文件的两个配置项

 

hbm2ddl.auto:该属性可帮助程序员实现正向工程, 即由 java 代码生成数据库脚本, 进而生成具体的表结构. 。取值 create | update | create-drop | validate

 

create : 会根据 .hbm.xml  文件来生成数据表, 但是每次运行都会删除上一次的表 ,重新生成表, 哪怕二次没有任何改变 

create-drop : 会根据 .hbm.xml 文件生成表,但是SessionFactory一关闭, 表就自动删除 

update : 最常用的属性值,也会根据 .hbm.xml 文件生成表, 但若 .hbm.xml  文件和数据库中对应的数据表的表结构不同, Hiberante  将更新数据表结构,但不会删除已有的行和列 

validate : 会和数据库中的表进行比较, 若 .hbm.xml 文件中的列在数据表中不存在,则抛出异常

 

format_sql:是否将 SQL 转化为格式良好的 SQL . 取值 true | false

 

分享到:
评论

相关推荐

    hibernate 最新官网 核心api

    hibernate 最新官网 核心api,详细介绍hibernate的文档

    Hibernate的核心API

    【Hibernate的核心API】是Java开发中用于操作数据库的重要框架,其核心API主要包括持久化对象的生命周期管理、Session接口、Transaction接口、SessionFactory接口以及Configuration接口。本文将深入探讨这些关键概念...

    hibernate jar包+api

    标题"hibernate jar包+api"和描述"hibernate jar包+api"明确指出我们要讨论的是Hibernate ORM框架的相关资源,包括核心的jar包和API文档。Hibernate是一个流行的关系型数据库管理系统(RDBMS)到Java对象的映射工具...

    Hibernate3.6.10核心API

    Hibernate3.6.10核心编程接口API文档

    Hibernate中文开发文档API.zip

    **Hibernate核心知识点** 1. **对象关系映射(ORM)**: Hibernate是Java ORM框架,通过映射机制将Java对象与数据库表关联,简化了数据库操作。 2. **配置文件**: Hibernate使用`hibernate.cfg.xml`配置文件来设置...

    hibernate3 中文API

    这个API文档是专门为那些使用中文作为主要语言的学习者设计的,使得理解Hibernate的核心概念和用法更加直观。以下是关于Hibernate 3 API的一些关键知识点: 1. **实体映射(Entity Mapping)**: Hibernate 3使用XML...

    Hibernate api

    Hibernate API 是一个强大的Java持久化框架,用于简化数据库操作,它是对象关系映射(ORM)工具的代表之一。这个框架允许开发者用面向对象的方式处理数据,而无需直接编写SQL语句,大大提高了开发效率和代码的可维护...

    Hibernate3.3 API中文版

    在本API文档中,我们可以深入理解Hibernate的核心概念和技术细节。 首先,我们要了解Hibernate的核心组件。其中,`Session`接口是工作单元,它是持久化操作的主要入口点,提供了保存、更新、删除和检索对象的方法。...

    hibernate4 api chm格式,真正的api,绝非帮助文档……

    这个API文档是针对Hibernate 4.0.1版本的,包含了所有核心类和接口的详细说明,为开发者提供了全面的参考资源。以下是对这个API的一些关键知识点的解析: 1. **Session接口**:在Hibernate中,Session是与数据库...

    Hibernate 参考手册中文API文档.chm

    2. **创建SessionFactory**: SessionFactory是Hibernate的核心,它是线程安全的,用于创建Session实例。 3. **创建Session**: Session是与数据库交互的接口,每个数据库操作都在一个Session内完成。 4. **打开...

    Hibernate API

    这是Hibernate的核心包,包含了许多关键的接口和类。其中最重要的是`Session`接口和`SessionFactory`类。`SessionFactory`是数据库连接的工厂,负责创建`Session`实例,而`Session`则负责执行数据库事务,包括对象...

    hibernate教程+3.0API

    4. ** Criteria查询**:除了传统的SQL查询,Hibernate提供了Criteria API,允许开发者以面向对象的方式构建动态查询,更加灵活且易于维护。 5. **HQL(Hibernate Query Language)**:Hibernate特有的查询语言,...

    hibernate5--1.入门及核心API

    **Hibernate 5 入门及核心API** Hibernate 是一个开源的Java对象关系映射(ORM)框架,它允许开发者在Java应用中使用面向对象的方式来操作数据库。Hibernate 5是其最新版本,带来了许多改进和优化,提升了性能和...

    hibernate中英文API文档

    4. **Hibernate Getting Started Guide.pdf**: 快速入门指南针对初学者,提供了一个快速理解并开始使用Hibernate的路径。它通常包括创建第一个Hibernate项目、建立实体类、配置数据源、执行CRUD操作等基础步骤。 ...

    hibernate 核心APi

    hibernate 核心APi

    Hibernate 中文api文档下载.zip_API_Hibernate API _hibernate api

    二、Hibernate核心组件 1. Session:是Hibernate的主要工作接口,负责对象的创建、读取、更新和删除操作,同时也管理缓存。 2. Transaction:代表数据库事务,用于保证数据的一致性。 3. Configuration:配置对象,...

    hibernate3.5.1Final.核心API chm版

    hibernate3.5.1Final.核心API chm版

    hibernate3.3 api中文

    这款“hibernate3.3 api中文”文档为学习 Hibernate 提供了宝贵的中文资源,帮助开发者理解和应用 Hibernate 的各种功能。 首先,让我们深入了解一下Hibernate的核心概念。ORM是Hibernate的核心思想,它消除了传统...

    hibernate_core_API

    4. **Entity和Mapping**:在Hibernate中,Java类代表数据库中的表,这些类被称为实体(Entity)。通过注解或者XML配置文件,我们可以定义实体类和数据库表之间的映射关系,例如@Id表示主键,@ManyToOne、@OneToMany...

    Hibernate核心API.PPT

    【Hibernate核心API】是Java开发中用于对象关系映射(ORM)的重要框架,它简化了数据库操作,将Java对象与数据库记录之间的映射自动化。在本讲中,我们将深入理解Hibernate的核心API,包括持久实例的生命周期状态、...

Global site tag (gtag.js) - Google Analytics