
Hibernate
Hibernate
hestyle
戎码一生!
展开
-
Hibernate框架之二级缓存
在上一篇博客 Hibernate框架之一级缓存与一级缓存快照,介绍了Hibernate框架中的一级缓存(也称为session缓存),在本篇博客将介绍一下二级缓存。1、二级缓存所谓二级缓存,也称为SessionFactory级别的缓存,整个应用程序共享一个会话工厂,共享一个二级缓存。SessionFactory是不是听着有点耳熟?其实我们得session对象就是通过SessionFactory工...原创 2019-11-25 09:33:48 · 275 阅读 · 0 评论 -
Hibernate框架之一对一关系的处理(Demo演示)
在上一篇博客 Hibernate框架之一对多关系处理(Demo演示)、Hibernate框架之多对多关系处理(Demo演示) 分别演示了hibernate如何处理一对多、多对多的关系,在此篇博客将在hibernate框架下演示公司、地址一对一关系的处理。一、Demo编写1、公司与地址之间的一对一关系2、公司、地址模型Address类package cn.hestyle.model;...原创 2019-11-24 15:28:47 · 195 阅读 · 0 评论 -
Hibernate框架之配置log4j日志管理
Log4J(log for java)是常用的日志管理助手,它是 Apache的 一个开源项目。我们可以通过这个工具将日志信息输出到控制台、文件、GUI组件,而且也能控制每一条日志的输出格式,并且设置每一条日志信息的级别,这样我们能够更加细致地控制日志的生成过程,方便系统维护。在hibernate中也支持log4j日志,下面将演示如何在hibernate中添加log4j日志管理。1、添加jar...原创 2019-11-24 11:22:28 · 864 阅读 · 0 评论 -
Hibernate框架之配置C3P0数据库连接池
hibernate框架底层访问数据库使用的是jdbc,为了提高数据库访问效率,它扩展支持了一些常见的数据库连接池。在hibernate的默认配置文件hibernate.properties有定义。那么我们如何在hibernate配置c3p0数据库连接池呢?一、将C3P0的jar导入到项目如果你的项目有一个单独的Hibernate依赖文件夹,直接将c3p0的jar包复制到这个hibern...原创 2019-11-22 11:02:18 · 459 阅读 · 0 评论 -
Hibernate框架之HQL查询
在一篇博客 Hibernate框架之Query、Criteria、SQLQuery三个数据查询对象,介绍了Hibernate中的Query查询对象。Query对象使用的是一种面向对象类似SQL的HQL查询,HQL语法与SQL语法基本一致,本篇博客将进行HQL查询演示,并且会贴出对应的SQL语句。一、创建基于Hibernate框架的Java项目为了方便演示,数据库中将插入Customer、Ord...原创 2019-11-20 16:11:35 · 612 阅读 · 0 评论 -
Hibernate框架之加载策略、检索策略
申明:演示中使用的Student、Course类的定义在上一篇博客 Hibernate框架之多对多关系处理(Demo演示),Student、Course是多对多的关系,这里不再赘述。1、示例引入(session的get、load方法)在介绍加载策略、检索策略之前,我们先来看一个测试类。package cn.hestyle.test;import cn.hestyle.model.Stud...原创 2019-11-19 22:53:20 · 211 阅读 · 0 评论 -
Hibernate框架之多对多关系处理(Demo演示)
在上一篇博客 Hibernate框架之一对多关系处理(Demo演示),演示了hibernate处理一对多关系,在本篇博客将演示hibernate处理多对多关系。请先仔细阅读上一篇博客,一对多关系、多对多关系是相通的。在数据库学习的过程,多对多的关系也是常见的一种实体关系。可能直接从概念上比较难于描述,举个栗子就很好理解,比如一门课程可被多个学生选上,一个学生也可以选择多门课程,那么学生、课程就是...原创 2019-11-18 11:37:36 · 325 阅读 · 0 评论 -
Hibernate框架之一对多关系处理(Demo演示)
在数据库中,一对多的关系是比较常见的关系之一。所谓一对多,就是一条记录可以和其它表中的多条记录关联,常常使用外键进行约束。一对多和多对一可以说是同一个概念,只是看待的角度不同。比如,一个顾客可以拥有多个订单,从客户的角度就是一对多的关系,而从订单的角度就是多对一的关系,即多个订单可以同时属于一个顾客。本篇博客将在使用Hibernate框架下,进行顾客、订单之间一对多关系的处理演示。一、Demo...原创 2019-11-17 10:54:14 · 491 阅读 · 0 评论 -
Hibernate框架之API详解二
在上一篇博客 Hibernate框架之API详解 主要介绍了Session的get、load等API,在本篇博客将介绍save、persist以及两者的区别、saveOrUpdate等API。1、save方法save方法:瞬时态 转换 持久态 ,会初始化OID。1.执行save方法,立即触发insert语句(不需要开启、提交事务),从数据库获得主键的值(OID值)2.执行save方法前,设...原创 2019-11-10 20:01:58 · 167 阅读 · 0 评论 -
Hibernate框架之一级缓存与一级缓存快照
在上一篇博客 Hibernate框架之实体的三种状态 引入了session缓存的概念,下面将介绍一下一级缓存与一级缓存快照。1、一级缓存所谓一级缓存,又称为session级别的缓存(就是上一篇博客引入的session缓存)。当获得一次会话(session),hibernate在session中创建多个集合(map),用于存放操作数据(实体类的对象),为程序优化服务,如果之后需要相应的数据,...原创 2019-11-10 15:55:35 · 201 阅读 · 0 评论 -
Hibernate框架之实体的三种状态
在Hibernate中,实体Entity有三种状态,瞬时状态、持久状态、脱管状态1、状态介绍瞬时状态:transient, session没有缓存,数据库也没有记录,oid没有值持久状态:persistent, session有缓存,数据库也有记录,oid有值脱管状态/游离状态:detached,session没有缓存,数据库有记录,oid有值2、瞬时 转 持久package c...原创 2019-11-10 12:08:09 · 196 阅读 · 0 评论 -
Hibernate框架之hbm.xml映射文件(详解)
在上一篇博客 Hibernate框架之第一个Hibernate项目介绍了如何创建一个Hibernate项目,本篇博客将介绍一下hbm.xml映射文件。hibernate框架的主要作用将数据库的访问操作进行封装,让我们可以不使用sql语句即可更新数据库,称为“面向对象查询”(底层还是sql实现)。所谓面向对象查询,就是我们只关注模型以及模型对应的属性,并不关心表以及表中的字段。这里的模型也称为实体...原创 2019-11-10 11:04:56 · 3651 阅读 · 1 评论 -
Hibernate框架之hibernate.cfg.xml核心配置文件(详解)
hibernate.cfg.xml是Hibernate框架的核心配置文件,放于src根目录下,下面将介绍常见配置项。1、配置mysql数据库驱动<!-- 1、配置数据库连接的4个参数 hibernate.connection.driver_class,数据库的驱动 url中的hibernate_project_01是数据库名称 username、pass...原创 2019-11-06 21:48:16 · 2617 阅读 · 0 评论 -
Hibernate框架之Query、Criteria、SQLQuery三个数据查询对象
Hibernate框架的作用是将持久化层的操作进行封装,也就是把数据库的操作进行了封装,我们可以不使用sql语句就能更新数据库。下面将介绍Query、Criteria、SQLQuery三个查询对象。一、Query通过Session对象获取,使用HQL语句。所谓HQL,就是Hibernate Query Language的缩写,就是Hibernate的查询语言。与SQL语句相似,但是面向的是对象...原创 2019-10-31 12:12:43 · 1203 阅读 · 0 评论 -
Hibernate框架之API详解
上一篇博客Hibernate框架之第一个Hibernate项目 演示了Hibernate入门使用,本篇博客将对其中的Test类进行讲解。1、Configuration 配置对象Configuration的作用是读取Hibernate核心配置文件。读取配置有两种方式,并且对应Configuration对象创建也有两种方式。方式一:直接new一个Configuration对象Configura...原创 2019-10-30 17:40:24 · 330 阅读 · 0 评论 -
Hibernate框架之项目启动常见问题以及解决方法
一、报错Exception in thread "main" org.hibernate.MappingException: Unknown entity: cn.hestyle.model.UserException in thread "main" org.hibernate.MappingException: Unknown entity: cn.hestyle.model.User a...原创 2019-10-30 13:25:26 · 1380 阅读 · 0 评论 -
Hibernate框架之第一个Hibernate项目
第一步:创建一个普通Java项目第二步:添加Hibernate的jar包①首先在根目录下创建一个lib文件夹②将Hibernate的jar包复制到lib文件夹下载Hibernate的依赖包,也可以到官网去下载最新版的。Hibernate依赖包链接:https://pan.baidu.com/s/1vfldv–c6-aPuMOhTjlyMg 密码:8ijy下载好后,把文件解压,复...原创 2019-10-30 13:04:19 · 528 阅读 · 0 评论