Hibernate参考文档笔记一

本文介绍了Hibernate框架中的关键概念,包括SessionFactory、Session、持久化对象等的定义与作用,并阐述了对象的不同状态及其转换条件。此外,还探讨了Hibernate与JMX集成及JCA支持的相关内容。

一、对象定义

1.org.hibernate.SessionFactory

对于单个数据库,被编译的映射,是一个线程安全的缓冲区。是一个SessionConnectionProvider客户端的工厂。拥有可选的对过程级和集群级重复利用的数据的缓存(二级缓存)。

2.org.hibernate.Session

单线程、短生命周期的在应用程序和持久化存储系统之间的一个会话对象。封装了一个JDBC连接。是一个事务的工厂。拥有强制的对持久化对象的缓存(一级缓存),当通过标识浏览对象之间关系和查找对象时使用。

3.Persistent objects and collections

包含执久化状态和业务功能的短生命周期的、单线程对象。可以是POJOs,通常是和Session(严格说,是单个Session)相关联的对象。Session一关闭,他们将和Session分离,可以自由的使用在应用层的任何地方。(也就是说,作为传输对象使用(Transfer Object)。)

4.Transient and detached objects and collections

不和当前Session关联的持久化类的实例。他们可以被应用程序在不持久化时实例化,也可以被关闭的Session实例化。

5.org.hibernate.Transaction 可选

应用程序用来指定一个原子操作的单线程、短生命周期的对象。低层JDBCJTACORBA事务的抽象程序。在相似的情况下,一个Session可以同时横跨多个事务。事务划分,既可以使用低层的APIs,也可以使用Transaction

6.org.hibernate.connection.ConnectionProvider 可选

JDBC连接或JDBC连接池的工厂。低层DataSourceDriverManager的抽象程序。

这个对象不暴露给应用程序,但是应用程序可以被开发者继承和实现。

7.org.hibernate.TransactionFactory 可选

Transaction实例的工厂。这个对象不暴露给应用程序,但是应用程序可以被开发者继承和实现。

二、实例状态

持久化对象根据持久化上下文的定义,可以有三种不同的状态。Hibernate Session对象是一个持久化上下文。

1.transient

不关联任何的持久化上下文。没有持久化的标识(指主键值Primary key value)。

2.persistent

和当前持久化上下文关联。他有一个持久化标识,多数情况,在数据库中有对应的行。对于特定的持久化上下文,Hibernate保证持久化标识和Java标识(内存中对象的位置)相同。

3.detached

曾经和一个持久化上下文关联,持久化上下文关闭;或者对象在另一个进程中被序列化。他拥有持久化标识,多数情况,在数据库中有对应的行。对于分离对象Hibernate不保证持久化标识和Java标识的对应关系。

三、JMX集成

JMXJava组件管理的JEE标准。Hibernate可以被JMX服务管理。在发行版本中,Hibernate提供了一个MBean的实现,org.hibernate.jmx.HibernateService

JBoss上,你使用JMX可以得到的好处:

1.Session Management

Hibernate Session的生命周期可以自动的绑定到JTA事务范围。这意味着,你不需要手动的打开关闭Session,这成为JBoss EJB拦截器的要完成的工作。在你的代码中,也不用担心事务的划分,当然除非你想要写一个轻便的持久化层,通过使用Hibernate Transaction APIs。你可以调用HibernateContext来访问Session

2.HAR deployment

通常使用JBoss Service Deployment Descriptor(在EARSAR文件中)发布Hibernate JMX Service,它支持Hibernate SessionFactory所有的常用配置选项。无论如何,你还需要在deployment descriptor中描述所有的映射文件。如果你使用可选的HAR DeploymentJBoss将自动检测所有的映射文件在HAR文件中。

四、JCA 支持

Hibernate也可以配置作为一个连接器。该功能是实践型功能。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值