在进行后面的学习之前,先了解一下Hibernate经常用到几个核心类:Configuration、SessionFactory和Session。
1. Configuration
Configuration类负责对Hibernate进行初始化配置并对他进行启动。
Configuration cfg = new Configuration();
cfg.configure();
执行上述代码,Hibernate会在当前CLASSPATH中搜索配置文件hibernate.cfg.xml,将配置信息初始相应的对象,并将这些对象保存到内存中共后续程序调用。如果想要深入了解初始化配置做了哪些工作,可以对源码进行跟踪。如果我们不想使用默认的路径和文件,还可以自己制定一个路径和配置文件,Hibernate给我们提供了其他三种实现方法:
public Configuration configure(String resource) throws HibernateException;
public Configuration configure(URL url) throws HibernateException;
public Configuration configure(File configFile) throws HibernateException;
2. SessionFactory
SessionFactory使用了工厂设计模式,当需要Session对象时,可以从工厂中获取。SessionFactory不是轻量级的,它是线程安全的,目的是能让他在整个应用中共享。创建SessionFactory实例非常耗资源,一个项目通常只需要一个SessionFactory实例就够了,但是当项目中需要操作多个不同的数据库是,则需要为每个数据库指定一个SessionFactory。SessionFactory在Hibernate中实际起到了一个缓冲的作用,它可以缓冲Hibernate生成的SQL语句和其他一些映射数据,还缓冲了一些可以重复利用的数据。可以通过以下代码创建一个工厂实例。
SessionFactory sessionFactory = cfg.buildSessionFactory();
3. Session
对于开发人员来说,Session可以说是最重要的一个类,它是持久层操作的基础。它的作用相当于JDBC中的Connection。Session是轻量级的类,创建和销毁它都不会占用太多资源。Session实例可以通过SessionFactory获取,在完成所有工作之后还需要将它关闭。Session是不是线程安全的,因此每个Session应该只在一个线程中使用。
Session session = sessionFactory.openSession();
...
session.close();
4. Session 核心API
Session提供了大量的交互数据库的方法,通过save、update、delete、flush等基本操作完成持久化操作,使用方法请参考以下文档:
http://ajava.org/online/hibernate3api/org/hibernate/Session.html
分享到:
相关推荐
赠送jar包:deeplearning4j-core-1.0.0-M1.1.jar; 赠送原API文档:deeplearning4j-core-1.0.0-M1.1-javadoc.jar; 赠送源代码:deeplearning4j-core-1.0.0-M1.1-sources.jar; 赠送Maven依赖信息文件:deeplearning...
赠送jar包:deeplearning4j-nn-1.0.0-M1.1.jar; 赠送原API文档:deeplearning4j-nn-1.0.0-M1.1-javadoc.jar; 赠送源代码:deeplearning4j-nn-1.0.0-M1.1-sources.jar; 赠送Maven依赖信息文件:deeplearning4j-nn-...
《Learning PHP, MySQL & JavaScript》第六版是由Robin Nixon编写的动态网站开发指南。该书涵盖PHP 8、MySQL 8和JavaScript的最新技术,旨在指导读者从零开始创建动态网站。 PHP基础 * PHP是什么?PHP是 Hypertext...
Deep Learning for Signal Processing with MATLAB。Deep learning networks have been used for image classification for many years, but they are powerful tools for signal data as well. A deep learning ...
Adrian Rosebrock-Deep-Learning-For-Computer-Vision-全三册(Starter,Practitioner,ImageNet bundle)PDF高清-带目录和标签-以及start章节代码.1,2,3三本书从基础到入门提高,很好的资源
深度学习处理图片,适合学习仔细研究等等等等
React Quickstart Step-By-Step Guide To Learning React Javascript Library 英文azw3 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
Algorithm-Machine-Learning-for-Beginner-by-Python3.zip,斯克莱恩、坦索流。,算法是为计算机程序高效、彻底地完成任务而创建的一组详细的准则。
Machine Learning: Step-by-Step Guide To Implement Machine Learning Algorithms with Python By 作者: Rudolph Russell ISBN-10 书号: 1719528403 ISBN-13 书号: 9781719528405 出版日期: 2018-05-22 pages ...
赠送jar包:deeplearning4j-datasets-1.0.0-M1.1.jar; 赠送原API文档:deeplearning4j-datasets-1.0.0-M1.1-javadoc.jar; 赠送源代码:deeplearning4j-datasets-1.0.0-M1.1-sources.jar; 赠送Maven依赖信息文件:...
赠送jar包:deeplearning4j-nn-1.0.0-M1.1.jar; 赠送原API文档:deeplearning4j-nn-1.0.0-M1.1-javadoc.jar; 赠送源代码:deeplearning4j-nn-1.0.0-M1.1-sources.jar; 赠送Maven依赖信息文件:deeplearning4j-nn-...
赠送jar包:deeplearning4j-ui-components-1.0.0-M1.1.jar; 赠送原API文档:deeplearning4j-ui-components-1.0.0-M1.1-javadoc.jar; 赠送源代码:deeplearning4j-ui-components-1.0.0-M1.1-sources.jar; 赠送...
赠送jar包:deeplearning4j-utility-iterators-1.0.0-M1.1.jar; 赠送原API文档:deeplearning4j-utility-iterators-1.0.0-M1.1-javadoc.jar; 赠送源代码:deeplearning4j-utility-iterators-1.0.0-M1.1-sources....
代码实现部分,"Learning-to-See-in-the-Dark-master"可能包含了以下内容: 1. 数据预处理脚本:用于准备训练和验证数据集,包括图像的读取、预处理、配对和划分。 2. 模型定义文件:定义了所使用的深度学习模型...
原有的代码仓库也可以下载得到 https://github.com/PacktPublishing/Learning-Data-Mining-with-Python-Second-Edition 此处直接放在了CSDN上,方便大家下载,若有用,请大家多多支持一下我。
React Quickstart Step-By-Step Guide To Learning React Javascript Library 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn...
赠送jar包:deeplearning4j-ui-components-1.0.0-M1.1.jar; 赠送原API文档:deeplearning4j-ui-components-1.0.0-M1.1-javadoc.jar; 赠送源代码:deeplearning4j-ui-components-1.0.0-M1.1-sources.jar; 赠送...
赠送jar包:deeplearning4j-common-1.0.0-M1.1.jar; 赠送原API文档:deeplearning4j-common-1.0.0-M1.1-javadoc.jar; 赠送源代码:deeplearning4j-common-1.0.0-M1.1-sources.jar; 赠送Maven依赖信息文件:deep...
赠送jar包:deeplearning4j-datavec-iterators-1.0.0-M1.1.jar; 赠送原API文档:deeplearning4j-datavec-iterators-1.0.0-M1.1-javadoc.jar; 赠送源代码:deeplearning4j-datavec-iterators-1.0.0-M1.1-sources....