hibernate的Configuration,SessionFactory,Session在API中的一些理解和翻译

author:heaven
一:
Configuration:
(1)当创建一个SessionFactory的时候,Configuration实例允许应用程序使用指定的资源文件和映

射文件,通常一个应用程序将创建唯一的Configuration,创建一个唯一的SessionFactory,接着创建

客户端请求服务的线程所需要的Session实例。

(2)只被当做初始化一次,Sessionfactory不可改变,不能保留任何信息。

(3)其中该对象里有个方法叫buildSessionFactory(),作用:在这个Configuration对象里使用资

源文件和映射文件,因此改变这个Configuration后,创建的SessionFactory将不受影响。


二:
SessionFactory:
它的主要作用就是创建Session实例,通常一个应用程序有一个唯一的SessionFactory实例和从这

个SessionFactory里包含客户端请求服务所需要的Session。一个SessionFactory的内部状态时不可以

改变的只要它被创建,这个内部状态就被决定了,这种内部状态包含了所有的对象映射关系的元数据



三:
Session:
(1)它是在java应用程序和Hibernate之间运行的主要接口。
(2)Session的生命周期是逻辑事务的创建到结束(大型的事务可能分成若干个数据库事务)。
(3)主要Session的方法是为映射的实体类对象提供创建,读,删操作。
(4)一个实例可能存在三种状态:
A:transient(短暂态):没有进行持久化,也没连接任何Session。
B:persistent(持久态):连接了唯一的Session。
C:detached(释放态):持久性过了,没有与任何Session关联。
(5)短暂态实例可能被save(),persist(),saveOrUpdate()变为持久态,持久态可以被delete()方

法变为短暂态,任何状态的实例被get()或者load()方法返回都变为持久太,释放态可能被

update(),saveOrUpdate(),lock()或者replicate()变为持久太,短暂态或者释放太的实例可以

被一个持久化实例的merge()方法变为持久太。
(6)调用save()和persist()(坚持的意思)方法的结果是插入SQL语句,delete()是删除的意 思

,update(),merge()是更新SQl语句。
(7)设计者并没有打算设计成线程安全的,从一个SessionFactory实例替换为每一个线程或者事务

所包含的它自己的实例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值