Hibernate核心接口和数据类型总结

来源:互联网 发布:大数据云计算人工智能 编辑:程序博客网 时间:2024/05/18 18:15

一 Hibernate中的核心接口.   网易博客cyeagle

有五个核心接口几乎在每个Hibernate应用中都会用到,是Hibernate基础中的基础。使用这些接口,你可以存储与取出持续对象或者对事务进行控制。

1 Configuration接口

Configuration(配置)对象用来配置和引导Hibernate。应用使用一个配置实例来指定映射文件的位置和Hibernate的特定属性,然后创建会话工厂。即使配置接口只担当了整个Hibernate应用范围内一个相对较小的部分,但它却是在你开始使用Hibernate时遇到的第一个对象。

2 SessionFactory接口

应用从SessionFactory(会话工厂)里获得会话实例。与会话接口相比,这个对象不够令人兴奋。会话工厂当然不是轻量级的!它打算在多个应用线程间进行共享。典型地,整个应用只有唯一的一个会话工厂——例如在应用初始化时被创建。然而,如果你的应用使用Hibernate访问多个数据库,你需要对每一个数据库使用一个会话工厂。会话工厂缓存了生成的SQL语句和Hibernate在运行时使用的映射元数据。它也保存了在一个工作单元中读入的数据并且可能在以后的工作单元中被重用(只有类和集合映射指定了这种二级缓存是想要的时才会如此)。

3 Session接口

Session(会话)接口是Hibernate应用使用的主要接口。会话接口的实例是轻量级的并且创建与销毁的代价也不昂贵。这很重要,因为你的应用可能始终在创建与销毁会话,可能每一次请求都会如此。Hibernate会话并不是线程安全的,因此应该被设计为每次只能在一个线程中使用。

Hibernate会话是一个介于连接和事务之间的概念。你可以简单地认为会话是对于一个单独的工作单元已装载对象的缓存或集合。Hibernate可以检测到这个工作单元中对象的改变。我们有时也将会话称为持续性管理器,因为它也是与持续性有关的操作。例如存储和取出对象的接口。注意,Hibernate会话与Web层的HttpSession没有任何关系。当我们在本书中使用会话时,我们指的是Hibernate会话。为了区别,有时我们将HttpSession对象称为用户会话。

4 Query与Criteria接口

Query(查询)接口允许你在数据库上执行查询并控制查询如何执行。查询使用HQL或者本地数据库的SQL方言编写。查询实例用来绑定查询参数,限定查询返回的结果数,并且最终执行查询。

Criteria(标准)接口非常小,它允许你创建和执行面向对象的标准查询。为了帮助应用代码减少冗余,Hibernate在会话接口上提供了一些快捷方法,允许你可以在一行代码内调用一个查询。

5 Transaction接口

Transaction(事务)接口是一个可选的API。Hibernate应用可以选择不使用这个接口,而是在它们自己的底层代码中管理事务。事务将应用代码从下层的事务实现中抽象出来——这可能是一个JDBC事务,一个JTA用户事务或者甚至是一个公共对象请求代理结构(CORBA)——允许应用通过一组一致的API控制事务边界。这有助于保持Hibernate应用在不同类型的执行环境或容器中的可移植性。

二 Hibernate数据类型

一个基础的并且非常强大的体系结构元素是Hibernate的类型的概念。Hibernate的类型对象将一个Java类型映射到数据库字段的类型(实际上,类型可能跨越多个字段)。持续类所有的持续属性,包括关联,都有一个对应的Hibernate类型。这种设计使Hibernate变得极端灵活并易于扩展。

内建类型的范围非常广泛,覆盖了所有的Java基础类型和许多JDK类,包括java.util.Currency,java.util.Calendar,byte[]和va.io.Serializable。甚至更好一些,Hibernate支持用户自定义类型。它提供了UserType和serType接口允许你增加自己的类型。使用这个特征,应用使用的共通类例如Address,Name或MonetaryAmount就可以方便优雅地进行处理了。自定义类型被认为是Hibernate的重要特征,并鼓励你对它们进行新的或创造性的使用.

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 报到证上时间到期了还没报到怎么办 不停的打嗝已经超过24小时怎么办 面对不给下属做主的领导怎么办 法院说退款受伤人去不了证明怎么办 e栈快递柜没收到短信怎么办 京东快递放门卫丢了怎么办 丰巢快递柜收不到取件码怎么办 丰巢快递柜手机号码填错了怎么办 e栈手机号换了取不出来怎么办 买高铁票起点一样终点不一样怎么办 定火车票把名字写错一个字怎么办 火车票坐完车票丢了报销怎么办 客户交给我的钱被骗了怎么办 要证明网络来源的可靠性该怎么办 魅族手机高德地图信号弱怎么办 t恤的印花粘粘的怎么办 从包图网下载的模板素材丢失怎么办 大屏导航的语音功能怎么办用 手机导航不走地图上面走时怎么办 行车撞到步行人死亡师机逃离怎么办 小天才平板电脑不显示了怎么办 高德地图导航不显示车速怎么办 桥梁梁片强度达不到设计要求怎么办 新车交车检验表客户没签字怎么办 中铁快运职工拒绝提货要怎么办 奇瑞a3暖风水箱爆了怎么办 别人挖鱼塘占了我的山土怎么办 自己的鱼塘让别人强行占住了怎么办 公路扩路占地占了鱼塘怎么办? 玉米皮编垫子编好后玉米绳怎么办 入户门门框未预留纱窗位怎么办 门和墙有2cm缝隙怎么办 支座预埋钢板忘记埋了怎么办 做完线雕一边紧一边松怎么办 卖家把没发货的填写了单号怎么办 买的人民币白银亏了好多钱怎么办 带控制线的三相四线开关怎么办 覆膜除尘布袋风拉不动怎么办 家里装修把暖气管道打破了怎么办 冷水管与热水管接错了怎么办 磨砂皮的鞋子打湿变硬了怎么办