`

Hibernate上的主要接口

阅读更多
根据网上的相关资料和自己的理解,整理了一下Hibernate的主要接口。

1.Configuration

它位于org.hibernate.cfg.Configuration,好像是,呵呵。Configuration对象负责Hibernate的配置与启动,可以通过它来创建SessionFactory。

获得Configuration实例对象的方法:

(1)Configuration cfg = new Configuration().configure(),如果没有.configure()默认获得的是hibernate.properties,

(2)Configuration cfg = factory.getConfiguration()通过SessionFactory来获得创建它的Configuration。

2.SessionFactory

获得SessionFactory的方法。 factory = cfg.buildSessionFactory()

它的特点是:

(1)SessionFactory是线程安全的,可以被多个应用程序所共享使用。

(2)SessionFactory是重量级的,不要轻易地创建和销毁它的实例,因为会消耗大量的内存资源。

SessionFactory一旦被生成,它的配置信息就不会改变,即使生成它的Configuration发生改变他也不会变化。

3.Session

它是由SessionFactory来创建的,session = factory.openSession()

它的特点是:

(1)Sesion不是线程安全的,所以在软件构架的时候应该尽量避免多一个程序共享一个Session

(2)Session是轻量级的,创建和销毁不需要耗掉很多的资源。

Session创建查询对象、开启事务的方法:

session.createQuery(),session.beginTransaction()



Session是一个持久化对象管理器,它的管理方法有:

isOpen(),flush(),close(),evict(),clear()



获得持久化对象的方法:

get(),load(),两者的区别是当数据库中不存在对应数据室 ,get方法会得到一个null对象,而load会抛出一个异常。



对持久化对象的处理方法:



Session.save(),update,delete()

Session缓存的三大作用:

(1)可以减少访问数据库的次数

(2)可以保证缓存中的数据与数据库中的数据同步

(3)当缓存中的持久化对象存在循环关系时,Session会保证不出现访问对象的死循环,以及由死循环引起的JVM堆栈溢出异

Hibernate应用中Java对象的状态

       对于需要持久化的Java对象,在它的生命周期中,可处于以下三种状态:

1 临时状态(transient):刚刚被new语句创建,还没有被持久化,不处于Session的缓存中。处于临时状态的Java对象被称为临时对象。

2 持久化状态(persistent):已被持久化,加入到Session的缓存中。处于持久化状态的Java对象称为持久化对象。

3 游离状态(detached):已被持久化,但不再处于Session的缓存中。处于游离状态的Java对象被称为游离对象。







四、Query和Criteria接口



Query和Criteria接口是Hibernate的查询接口,用于向数据库查询对象,以有控制执行查询的过程。



Query实例包装了一个HQL(Hibernate Query Language)查询语句,HQL和SQL查询语句有些相似,便HQL查询语句是面向对象的,它引用类名及类的属性名,而不是表名及表的字段名。



Criteria接口完全封装了基于字符串形式的查询语句,比Query接口更加面向对象。Criteria接口擅长于执行动态查询。

复杂查询用QBC检索方式。QBC检索方式主要由Criteria接口、Criterion接口和Expression、Restrictions类组成。





五、Transaction接口

Transaction接口是Hibernate的数据库事务接口,它对底层的事务接口做了封装,底层事务接口包括:

JDBC API

JTA (Java  Transaction  API)

CORBA  (Common Object Requet Broker Architecture) API

Hibernate应用可通过一致的Transaction接口来声明事务边界,这有助于在不同的环境或容器中移植。
分享到:
评论

相关推荐

    hibernate 通用接口架构

    DAO层作为业务逻辑和数据存储之间的中间层,它的主要职责是封装对数据库的操作,将数据库交互的细节隐藏起来,使得业务逻辑层无需关心具体的数据库操作,只需要调用DAO接口即可完成数据的增删改查。 在面向接口的...

    Hibernate教程03_Hibernate核心开发接口介绍

    在Hibernate中,我们通过在Java类上使用@Entity注解来标记一个类为实体类,表示该类的对象可以被持久化到数据库。实体类的属性通常对应数据库表的列,使用@Column注解来指定。 6. **持久化状态和生命周期**: ...

    Hibernate核心接口

    "Hibernate核心接口" Hibernate 是一种流行的 Java 持久化框架,它提供了多种核心接口来实现数据的持久化操作。这些核心接口是 Hibernate 的基础组件,任何 Hibernate 应用程序都需要使用它们。下面将详细介绍这五...

    hibernate数据库访问接口设计

    在Hibernate中,事务的开始、提交和回滚都是通过调用 `Session` 上的方法来完成的。这简化了事务管理,尤其是在分布式系统中。 ### 5. Configuration 和 SessionFactory `Configuration` 类用于配置Hibernate,包括...

    Hibernate曾删改查接口实现

    "Hibernate曾删改查接口实现"这个主题,主要涉及的是如何利用Hibernate的核心接口进行数据的增、删、改、查操作。下面将详细讲解这些知识点。 **1. Hibernate基本概念** Hibernate是一个开源的ORM框架,它的核心是...

    封装hibernate统一操作接口

    这就是"封装Hibernate统一操作接口"的目的。 一、 Hibernate概述 Hibernate是一个开源的ORM框架,它将Java对象与关系数据库中的记录进行映射,从而避免了传统的JDBC编程的繁琐。通过Hibernate,开发者可以使用面向...

    Hibernate泛型DAO接口,大部分通用都已包括

    `SessionFactory`是Hibernate的核心对象,负责创建`Session`实例,`Session`是与数据库交互的主要接口。 再来看`DaoUtil.java`,这通常是一个工具类,用来辅助生成`SessionFactory`,并提供其他DAO操作的静态方法。...

    hibernate中五个核心接口

    综上所述,Session、SessionFactory、Transaction、Query 和 Configuration 这五个核心接口是理解 Hibernate 框架的关键。通过对这些接口的学习和掌握,开发者可以更好地利用 Hibernate 来简化 Java 应用程序与...

    hibernate主要知识点

    【hibernate主要知识点】 Hibernate 是一款流行的 Java 平台上的 ORM(对象关系映射)框架,它使得开发者可以使用面向对象的方式处理数据库操作,而无需直接编写 SQL 语句。ORM 框架如 Hibernate、TopLink 和 OJB ...

    Hibernate的五个核心接口介绍.png

    Hibernate的五个核心接口 Configuration SessionFactory Session Transcation Query和Criteria

    基于泛型的通用Dao接口和hibernate的实现

    基于泛型的通用Dao接口是指使用泛型来实现数据访问对象(DAO)的接口,主要是在使用 Hibernate 或 JPA 时使用。泛型可以使得DAO接口更灵活、更通用。 泛型Dao接口的优点: 1. 耦合性低:泛型Dao接口可以与不同的...

    hibernate权威整理文档!

    五、Hibernate主要接口和类 1. hibernate.cfg.xml常用配置 配置文件包含数据库连接信息、缓存策略、查询优化等多个方面的设置,例如:数据库URL、用户名、密码、方言、缓存提供商等。 2. Configuration 这是初始...

    J2EE企业级项目开发-3期(KC007) 5.3 探究Hibernate之核心接口文档.doc

    本篇将深入探讨Hibernate的五个核心接口:Session、SessionFactory、Transaction、Query和Configuration。 1. **Session接口**: Session接口是Hibernate的核心接口之一,提供了对持久化对象的基本操作,包括创建...

    Hibernate Hibernate5 讲义 PDF

    JPA、ORM和Hibernate之间的关系是:ORM是一种思想,JPA是这种思想的具体表现形式,即按照Java语法规范定义的一套标准接口,Hibernate则是这组接口的一个具体实现。 Hibernate框架的下载和配置也是Java开发人员必须...

    hibernate4.3完整jar包

    Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java...Hibernate的核心接口一共有6个,分别为:Session、SessionFactory、Transaction、Query、Criteria和Configuration。

    CXF接口Spring+Hibernate的添加完整版

    5. **集成过程**:在整合CXF、Spring和Hibernate的过程中,通常需要配置Spring的XML上下文文件来声明服务接口、实现类、DAO和SessionFactory。此外,还需要设置CXF的服务器配置,指定服务的地址和实现类。在本示例中...

    hibernate aip hibernate aip

    Session是与数据库进行交互的主要接口,而Transaction则管理数据库事务。Query接口允许我们执行复杂的数据库查询。 在Hibernate AIP中,关键步骤包括: 1. **配置**:设置Hibernate的配置文件(hibernate.cfg.xml...

    Hibernate 3.3主要的新特性包括

    以下是 Hibernate 3.3 的主要新特性: 1. **注解支持增强**: Hibernate 3.3 对 Java 5 的注解支持进行了强化,允许开发者在实体类和属性上直接使用注解来定义数据库映射,减少了XML配置文件的使用。这使得代码...

Global site tag (gtag.js) - Google Analytics