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的文档
【Hibernate的核心API】是Java开发中用于操作数据库的重要框架,其核心API主要包括持久化对象的生命周期管理、Session接口、Transaction接口、SessionFactory接口以及Configuration接口。本文将深入探讨这些关键概念...
标题"hibernate jar包+api"和描述"hibernate jar包+api"明确指出我们要讨论的是Hibernate ORM框架的相关资源,包括核心的jar包和API文档。Hibernate是一个流行的关系型数据库管理系统(RDBMS)到Java对象的映射工具...
Hibernate3.6.10核心编程接口API文档
**Hibernate核心知识点** 1. **对象关系映射(ORM)**: Hibernate是Java ORM框架,通过映射机制将Java对象与数据库表关联,简化了数据库操作。 2. **配置文件**: Hibernate使用`hibernate.cfg.xml`配置文件来设置...
这个API文档是专门为那些使用中文作为主要语言的学习者设计的,使得理解Hibernate的核心概念和用法更加直观。以下是关于Hibernate 3 API的一些关键知识点: 1. **实体映射(Entity Mapping)**: Hibernate 3使用XML...
Hibernate API 是一个强大的Java持久化框架,用于简化数据库操作,它是对象关系映射(ORM)工具的代表之一。这个框架允许开发者用面向对象的方式处理数据,而无需直接编写SQL语句,大大提高了开发效率和代码的可维护...
在本API文档中,我们可以深入理解Hibernate的核心概念和技术细节。 首先,我们要了解Hibernate的核心组件。其中,`Session`接口是工作单元,它是持久化操作的主要入口点,提供了保存、更新、删除和检索对象的方法。...
这个API文档是针对Hibernate 4.0.1版本的,包含了所有核心类和接口的详细说明,为开发者提供了全面的参考资源。以下是对这个API的一些关键知识点的解析: 1. **Session接口**:在Hibernate中,Session是与数据库...
2. **创建SessionFactory**: SessionFactory是Hibernate的核心,它是线程安全的,用于创建Session实例。 3. **创建Session**: Session是与数据库交互的接口,每个数据库操作都在一个Session内完成。 4. **打开...
这是Hibernate的核心包,包含了许多关键的接口和类。其中最重要的是`Session`接口和`SessionFactory`类。`SessionFactory`是数据库连接的工厂,负责创建`Session`实例,而`Session`则负责执行数据库事务,包括对象...
4. ** Criteria查询**:除了传统的SQL查询,Hibernate提供了Criteria API,允许开发者以面向对象的方式构建动态查询,更加灵活且易于维护。 5. **HQL(Hibernate Query Language)**:Hibernate特有的查询语言,...
**Hibernate 5 入门及核心API** Hibernate 是一个开源的Java对象关系映射(ORM)框架,它允许开发者在Java应用中使用面向对象的方式来操作数据库。Hibernate 5是其最新版本,带来了许多改进和优化,提升了性能和...
4. **Hibernate Getting Started Guide.pdf**: 快速入门指南针对初学者,提供了一个快速理解并开始使用Hibernate的路径。它通常包括创建第一个Hibernate项目、建立实体类、配置数据源、执行CRUD操作等基础步骤。 ...
hibernate 核心APi
二、Hibernate核心组件 1. Session:是Hibernate的主要工作接口,负责对象的创建、读取、更新和删除操作,同时也管理缓存。 2. Transaction:代表数据库事务,用于保证数据的一致性。 3. Configuration:配置对象,...
hibernate3.5.1Final.核心API chm版
这款“hibernate3.3 api中文”文档为学习 Hibernate 提供了宝贵的中文资源,帮助开发者理解和应用 Hibernate 的各种功能。 首先,让我们深入了解一下Hibernate的核心概念。ORM是Hibernate的核心思想,它消除了传统...
4. **Entity和Mapping**:在Hibernate中,Java类代表数据库中的表,这些类被称为实体(Entity)。通过注解或者XML配置文件,我们可以定义实体类和数据库表之间的映射关系,例如@Id表示主键,@ManyToOne、@OneToMany...
【Hibernate核心API】是Java开发中用于对象关系映射(ORM)的重要框架,它简化了数据库操作,将Java对象与数据库记录之间的映射自动化。在本讲中,我们将深入理解Hibernate的核心API,包括持久实例的生命周期状态、...