我的hibernate学习记录(二)
通过上一篇文章我的hibernate学习记录(一)基本上的入门了hibernate,但是,里面还有还多东西是通过迷迷糊糊的记忆,或者说copy直接弄进去的,所以这篇文章就需要对上篇的一些文件、对象进行说明。
hibernate配置文件
1.xxx.hbm.xml
上一篇中有个文件是customer.hbm.xml,这是一个关于对象实体和表之间关系的配置文件
- 根节点是hibernate-mapping 其中这里有一个属性package,package可能一看就知道是什么了,就是代表着一个包,写入的是包名,这个方便在里面的子元素以后凡是需要用到完整类名的都可以直接使用简单类名代替,例如:子元素class中有一个属性name,这是填入类名的,我们可以不用cn.lger.domain.Customer,而是可以直接使用Customer
- 节点class元素, 这是实体与表之间的对应关系,其中name声明是哪个类,table声明是哪个表
节点 - 节点id是主键的映射属性,name是填写类中对应的属性名,colum填写的是表中对应的列名。id中的还有一个节点generator ,这是主键的生成策略,意思就是我们在表中id的值生成的方法,这里我使用了increment,它是代表在数据库中主键是自增长的,每每生成一个记录都会在原有的基础上id+1
- 节点property 的应用很广,hibernate中是配置键值对的,相当于我们java中的Map,这里配置了字段名与实体属性之间的映射关系,当然这些都不是必须的,可以不写
2.xxx.cfg.xml
这是hibernate的主配置文件,主要是通过该配置文件然后hibernate程序启动时解析该文件的信息,比如数据库连接信息,对象与数据库表之间的映射信息
hibernate-configuration是根节点,节点中包含了session-factory session-factory是hibernate中SessionFactory对象的一个配置信息
hibernate对象
1.Configuration对象
这个类我是简单的先理解为加载配置文件的工具类。
Configuration中有几个构造函数分别是:
//空参构造在内部实现的时候是调用了configure(String resource)
//它默认的加载了classpath下的hibernate.cfg.xml
public Configuration configure()
//通过字符串所代表的配置文件的路径加载
public Configuration configure(String resource)
//通过URL加载文件,读取的也是一个路径
public Configuration configure(URL url)
//File类,可以代表一个文件或者目录,所以这也是实现对文件的加载
public Configuration configure(File configFile)
2.SessionFactory对象
SessionFactory是Session的工厂,里面包含了数据库的连接信息等
功能很单一,就是生产(创建)Session,它是通过Configuration生成的信息被创建的,所以Configuration的行动就是为了生成SessionFactory
3.Session&Transaction对象
Session是操作数据库的一个对象,与数据库进行连接,相当于JDBC中Connection,但是Session比起Connection功能更加多,可以直接操作数据库
Transaction关于这个的理解,我也不是很到位,所以这里贴出一些别人的文章作为参考:
http://blog.csdn.net/leroy008/article/details/8594397
http://blog.csdn.net/qq_33442549/article/details/51824616
http://www.cnblogs.com/BigAngel/p/3498534.html
我的hibernate学习记录(二)的更多相关文章
- Material Calendar View 学习记录(二)
Material Calendar View 学习记录(二) github link: material-calendarview; 在学习记录一中简单翻译了该开源项目的README.md文档.接下来 ...
- Spring Boot学习记录(二)--thymeleaf模板 - CSDN博客
==他的博客应该不错,没有细看 Spring Boot学习记录(二)--thymeleaf模板 - CSDN博客 http://blog.csdn.net/u012706811/article/det ...
- JavaScript学习记录二
title: JavaScript学习记录二 toc: true date: 2018-09-13 10:14:53 --<JavaScript高级程序设计(第2版)>学习笔记 要多查阅M ...
- 2.VUE前端框架学习记录二
VUE前端框架学习记录二:Vue核心基础2(完结)文字信息没办法描述清楚,主要看编码实战里面,有附带有一个完整可用的Html页面,有需要的同学到脑图里面自取.脑图地址http://naotu.baid ...
- Hibernate学习(二)———— 一级缓存和三种状态解析
一.一级缓存和快照 什么是一级缓存呢? 很简单,每次hibernate跟数据库打交道时,都是通过session来对要操作的对象取得关联,然后在进行操作,那么具体的过程是什么样的呢? 1.首先sessi ...
- Hibernate学习笔记二
Hibernate持久化类的编写规则 Hibernate是持久层的ORM映射框架,专注于数据的持久化工作.所谓持久化,就是将内存中的数据永久存储到关系型数据库中. 持久化类 一个java类与数据库表建 ...
- SpringBoot学习记录(二)
一. SpringBoot日志框架 SpringBoot:底层是Spring框架,Spring框架默认是用JCL(commons-logging): SpringBoot选用SLF4j和logback ...
- Hibernate学习笔记二:Hibernate缓存策略详解
一:为什么使用Hibernate缓存: Hibernate是一个持久层框架,经常访问物理数据库. 为了降低应用程序访问物理数据库的频次,从而提高应用程序的性能. 缓存内的数据是对物理数据源的复制,应用 ...
- Hibernate学习笔记二:常用映射配置
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6760895.html 一:单向一对一 常用唯一外键的方法来配置单向一对一关系. 1:实体关系 类A中有类B对象 ...
随机推荐
- Python初学基础
初入坑Python,打算跟着沫凡小哥的学习视频打个基础,此篇文章做一些简单的学习记录,加油加油加油啦 沫凡小哥的学习网站:https://morvanzhou.github.io/tutorial ...
- UITextField成为第一响应者
@interface CSRegisterTwoViewController ()<UITextFieldDelegate> @property (weak, nonatomic) IBO ...
- JVM笔记——技术点汇总
目录 · 初步认识 · Java里程碑(关键部分) · 理解虚拟机 · Java虚拟机种类 · Java语言规范 · Java虚拟机规范 · 基本结构 · Java堆(Heap) · Java栈(St ...
- 【有意思的BUG】浏览器的Title和Icon
序:Icon在术语上也称为"ico",比如豆瓣的ICON地址:http://img3.douban.com/favicon.ico 先贴一张图,有助于理解这篇文档的标题--< ...
- [C#] out vs ref
当需要从一个方法中有多个返回值时可以考虑使用out和ref这两个关键字.下面通过代码的方式来说明两者的用法和不同之处. 例如现在有一个如下的Add方法,Add方法只有一个返回值. static int ...
- controlfile与备份恢复
controlfile与备份恢复 数据库正常关闭,trace controlfile信息. ************************************************ ...
- PHP中单引号、双引号和转义字符
在PHP语言总,单引号与双引号的作用不尽相同. PHP单引号及双引号均可以修饰字符串类型的数据,如果修饰的字符串中含有变量(例$name):最大的区别是:双引号会替换变量的值,而单引号会把它当做字符串 ...
- Orleans简单配置
Orleans简单配置 这是Orleans系列文章中的一篇.首篇文章在此 话说曾几何时,我第一次看到xml文件,心中闪过一念想:"这<>是什么鬼?"-用ini或者jso ...
- 设计模式(6)--Adapter(适配器模式)--结构型
1.模式定义: 适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作. 2.模式特点: Adapter模式使原本因接口不匹配(或者不兼 ...
- Scikit-Learn框架
1. Dataset scikit-learn提供了一些标准数据集(datasets),比如用于分类学习的iris 和 digits 数据集,还有用于归约的boston house prices 数据 ...