Hibernate体系结构学习笔记与心得

本文详细解析了Hibernate的四个核心接口:Session、SessionFactory、Configuration和Query/Criteria,阐述了Session会话的线程安全性、作用以及缓存机制,SessionFactory的作用与生命周期,Configuration接口的用途,以及Query和Criteria接口的查询功能。此外,还介绍了回调接口在对象生命周期事件中的应用。

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

[size=x-large]Hibernate体系结构[/size]
[size=x-large]一[/size]核心接口:
[size=large](一)[/size]、Session接口
[img]http://doc.javanb.com/hibernate-reference-3-2-0-zh/images/full_cream.gif[/img]
首先Hibernate的Session会话不是线程安全的,所以我们应该在每一个线充中去单独使用它们,也就是在每个应用中去创建和销毁Session会话。我们可以理解为:Session会话就是一个单独的工作单元已装载对象的缓存或集合。我们也称Session为持续性管理器,我们通过session完成持续性的有关操作例如存储和取出对象的接口。Session对象有一个一级缓存,现实执行Flush之前,所有的持久化操作的数据都在缓存中Session对象处。

[size=large](二)[/size]、SessionFactory(会话工厂)
应用从SessionFactory里获得会话实例,整个应用中只有唯一一个会话工厂。也就是我们导入Hibernate框架时生成的MySessionFactory文件中由
sessionFactory = configuration.buildSessionFactory();
创建的sessionFactory。会话工厂缓存了生成的SQL语句和Hibernate在运行时使用的映射元数据。它也保存了在一个工作单元中读入的数据并且可能在以后的工作单元中被重用(只有类和集合映射指定了这种二级缓存是想要的时才会如此)。

[size=large](三)[/size]、Configuration接口
Configuration接口应用使用一个配置实例来指定映射文件的位置和Hibernate的特定属性,然后创建会话工厂。

[size=large](四)[/size]、Query接口和Criteria接口
Query接口允许我们在数据库上执行查询并控制查询如何执行。Criteria(标准)接口非常小,它允许你创建和执行面向对象的标准查询。
具体可参见[url]http://blog.youkuaiyun.com/titilover/article/details/6920457[/url]
[size=x-large]二[/size]、回调接口
当一个对象发生了应用感兴趣的事情——例如,当一个对象被装载、保存或删除时,回调接口允许应用可以接收到通知。
接口Lifecycle和Validatable允许持续对象对与其有关的生命周期事件做出反应。持续性生命周期由对象的CRUD操作构成。引入接口Interceptor是为了允许应用处理回调而又不用强制持续类实现Hibernate特定的API。接口Interceptor的实现被作为参数传递给持续类的实例。

[size=large]三[/size]、类型
Hibernate的类型对象将一个java类型映射到数据库字段的类型,持续类所有的持续属性,包括关联,都对应了一个Hibernate类型。Hibernate的内建类型范围非常广泛,覆盖了所有的java类和jdk类型。同时我们也可以使用UserType和CompositeUserType这两个接口增加自己的类型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值