我的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对象 ...
随机推荐
- C# 将数据表导出到Excel通用方法
DataGrid dg = new DataGrid(); dg.DataSource = dt; dg.DataBind(); Response.Clear(); Response.Buffer = ...
- (1)xcode基本设置和控制器等介绍
1.在IOS应用程序中,如果没有对storyBoard进和设置它的界面是非常大,有时候如果把元素放在右边会出现运行程序时超出显示界面而不显示的问题.为了解决这个问题我们通常会在用模拟器设置调试界面的时 ...
- 电机PID调试注意(待补充)
1.速度传感器 返回值要处理好,要和目标值同一单位,这样方便以后的计算 2.PID初始化要准确 3.输出给定要设定一个阈值,防止电机转速太大.
- ifconfig命令--查看、配置、启用或禁用网络接口的工具
ifconfig 是一个用来查看.配置.启用或禁用网络接口的工具,这个工具极为常用的.可以用这个工具来临时性的配置网卡的IP地址.掩码.广播地址.网关等.也可以把它写入一个文件中(比如/etc/rc. ...
- Android Studio 或 IntelliJ IDEA获取数字签名的方法
原先在 Eclipse中 数字签名(SHA1或MD5)的获取方法 为: 点击 Eclipse导航栏的Windows --> Preference --> Android --> Bu ...
- 福科田led漫反射灯条生产工序
led漫反射灯条简称透镜灯条,它两个其实是一种产品.下面我来讲讲led漫反射灯条的生产工序.首先介绍的是led漫反射灯条的生产总流程. 一. led漫反射灯条的生产总流程: 1. ...
- python基础===使用switch方法,减少使用if语句
def jia(x,y): return x+y def jian(x,y): return x-y def cheng(x,y): return x*y def chu(x,y): return x ...
- Linux系统中cgroup功能介绍
1 Cgroups简介 1.1 What are cgroups ? Cgroups(控制组)是Linux内核的一个功能,用来限制.统计和分离一个进程组的资源(CPU.内存.磁盘输入输出等).换句话 ...
- 51NOD 1258 序列求和 V4 [任意模数fft 多项式求逆元 伯努利数]
1258 序列求和 V4 题意:求\(S_m(n) = \sum_{i=1}^n i^m \mod 10^9+7\),多组数据,\(T \le 500, n \le 10^{18}, k \le 50 ...
- 外部排序&多路归并排序
外部排序: 一.定义问题 外部排序指的是大文件的排序,即待排序的记录存储在外存储器上,待排序的文件无法一次装入内存,需要在内存和外部存储器之间进行多次数据交换,以达到排序 整个文件的目的.外部排序最常 ...