欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

Hibernate中5个核心接口知识点整理

时间:2022-11-24 09:11:12|栏目:JAVA代码|点击:

Hibernate是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库,同时Hibernate作为持久层中间件,它的具体实现对与上层调用是透明的,即上层通过接口来调用Hibernate的具体实现,所以对于入门级别的讨论来说,自然应该先从接口开始了。

1.Configuration核心接口

在Hibernate应用中通过Configuration的实例来指定对象-关系映射文件或通过Configuration动态配置Hibernate的属性,然后通过Configuration来创建相应的SessionFactory实例。所以Configuration主要作用是配置并启动Hibernate。

2.SessionFactory核心接口

在Hibernate应用中一个SessionFactory对应一个数据源,它是个重量级对象(注意:不可随意生成多个实例,对于一般的单数据库应用来说,只需要一个SessionFactory就足够了,当然如果有多个数据库的话,还是需要为每个数据库生成对应的SessionFactory);它是线程安全的,同一个实例可以被应用中的多个线程共享;同时SessionFactory存放了大量预定义的SQL语句以及映射元数据,则需要很大的缓存了,也需要一定的CPU时间来计算生成。
注:通过Mapping文件的定义,很多SQL语句就已经确定了,只需要动态生成一次就可以了,提高持久化的效率。

3.Session核心接口

Session接口是Hibernate应用中使用最广泛的接口了,它是持久化管理器,提供添加、更新、删除、加载、查询对象。Session不是线程安全的,所以应避免多个线程共享同一个Session实例。Session是轻量级对象,它的创建和销毁不需要太多资源,这意味着在应用中可以经常创建和销毁Session对象。
Session有一个缓存,称之为Hibernate的一级缓存,它存放当前工作单元加载的持久化对象,每个Session都有自己的缓存,缓存中的对象只能被当前工作单元访问。
注:Session实例是从SessionFactory中可以获得。

4.Transaction核心接口

Transaction是Hibernate的数据库事务接口,它对底层道德事务接口进行了封装,底层事务接口包括:
JDBC API
JTA(Java Transaction API)
CORBA(Common Object Requet Broker Architecture) API
Hibernate应用可以通过一致Transaction接口来声明事务边界,这有助于应用可以在不同的环境或容器中移植。具体的事务实现使用在Hibernate.properties中进行指定。

5.Query和Criteria核心接口

这两个是Hibernate的查询接口,用于向数据库查询对象,以及控制执行查询的过程。Query实例包装了一个HQL(Hibernate Query Language)来查询。Criteria接口完全封装了基于字符串形式的查询语句,比Query更面向对象,Criteria更擅长执行动态查询。

总结

1、Configuration:配置hibernate,创建SessionFactory对象。

2、SessionFactory:初始化hibernate,充当数据存储源的代理,创建Session对象。

3、Session:负责保存,更新,删除。加载和查询对象。

4、Transaction:管理事务。

5、Query和Criteria:执行数据库的查询。

上一篇:JavaWeb实现显示mysql数据库数据

栏    目:JAVA代码

下一篇:Spring Security认证的完整流程记录

本文标题:Hibernate中5个核心接口知识点整理

本文地址:http://www.codeinn.net/misctech/219755.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有