Hibernate学习之架构

本文介绍了Hibernate应用框架的架构,包括ConfigurationObject、SessionFactoryObject、SessionObject、TransactionObject、QueryObject和CriteriaObject等核心组件的作用及交互方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Hibernate的分层使得你从必须知道相应的APIs中解脱出来。Hibernate使用数据库和配置文件来提供持久化服务。
以下是Hibernate应用框架的一个高级别视图。
这里写图片描述
以下是一个包含少量重要核心类的Hibernate应用框架的详细视图。
这里写图片描述
Hibernate使用各种存在的JAVA APIs,像JDBC,JAVA Transaction API(JTA),和JAVA Naming and Directory interface(JNDI)。JDBC对关系型数据库的通用功能提供了一个原始级别的抽象。Hibernate几乎支持所有带JDBC驱动的数据库。JNDI和JTA可以集成到J2EE应用服务中。
对于Hibernate应用框架中涉及到的每一个类对象,以下部分给出了简单的介绍。

Configuration Object

Configuration Object是你在任何一个Hibernate应用中用到的第一个Hibernate对象,通常,它仅仅创建一次,且在应用初始化时。它通常以Hibernate要求的配置(Configuration)和属性(Properties)文件出现。Configuration Object提供两个键组件:
Database Connection:通过一个或多个Hibernate支持的配置文件处理。这些文件是hibernate.properties和hibernate.cfg.xml。
Class Mapping Setup:
这个组件创建JAVA类与数据表之间的连接。

SessionFactory Object

SessionFactory对象由Configuraton Object创建,通过使用支持的配置文件来配置Hibernate,允许实例化一个Session 对象。SessionFactory是一个线程安全对象,能被一个应用的所有线程使用。
SessionFactory是一个重量级的对象,因此,它在应用启动时创建,且保留供以后使用。每个数据库需要一个SessionFactory对象。因此,如果你正在使用多个数据库,那么,你需要创建多个SessionFactory对象。

Session Object

一个Session表示得到了一个与数据库的物理连接。Session对象是轻量级的,被设计成每次与数据库交互需要时再实例化。持久化对象的存储与检索都是通过Session对象。
Session对象不应该长时间保留,因为他们通常不需要线程安全,他们应该在合适的时候进行创建和销毁。

Transaction Object

一个事务代表数据库的一个工作单元,大多数RDBMS支持事务功能。在Hibernate中,事务由JDBC或JTA的事务管理和事务进行处理。
这是一个可选对象,Hibernate应用可能不会使用这个接口,而宁愿自己在应用中写代码来管理事务。

Query Object

Query Object使用SQL或Hibernate Query Language(HQL)字符串从数据库中检索数据并创建对象。一个Query实例往往绑定一些查询参数,来限制查询结果的数量,最后执行查询。

Criteria Object

Criteria Object用于创建和执行面向准则的查询对象来检索对象。

本文翻译自:http://www.tutorialspoint.com/hibernate/hibernate_architecture.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值