
Hibernate
C8WATER
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Hibernate框架简介④
Hibernate的关联映射: 多对一关联映射: 第一步: 创建实体模型 Emp类: package com.rl.hiber.model; import java.util.Date; public class Emp { private Integer empNo; private String ename; private Date...原创 2018-08-11 19:58:08 · 232 阅读 · 0 评论 -
Hibernate注解开发之类级别的注解
Hibernate的注解类别可以分为 类级别的注解 属性级别的注解 关联映射的注解 首先介绍类级别的注解 @Entity(映射实体类注解) @Entity(name = "数据库中的表的名称") name: 可选, 对应数据库中的一张表, 若表名和实体类名相同, 则可以省略. 在使用@Entity时需要指定主键属性 例子: 配置文件hiberna...原创 2019-01-03 14:01:37 · 462 阅读 · 0 评论 -
Hibernate注解开发之关联映射的注解
回顾 Hibernate注解开发之类级别的注解 Hibernate注解开发之属性级别的注解 1. 一对一单向外键关联 Students04 @Entity public class Students04 implements Serializable { @Id //设置为主键 @GeneratedValue(strategy = GenerationType.IDE...原创 2019-01-05 09:43:44 · 895 阅读 · 0 评论 -
Hibernate框架之查询缓存
一级缓存跟二级缓存都只能缓存实体对象, 而查询缓存可以缓存基本属性, 同时查询缓存也可以缓存实体对象, 但是只能缓存其id 查询缓存的生命周期是: 一旦数据库表的数据发生修改, 则查询缓存则被清掉了 直接使用Hibernate框架提供的查询缓存即可 第一步: 开启查询缓存总开关 "hibernate.cfg.xml"配置文件: <!-- 手动开启查询缓存 --> ...原创 2018-09-22 22:20:57 · 1265 阅读 · 0 评论 -
Hibernate框架之二级缓存
二级缓存是SessionFactory级别的缓存, 是一种进程级别的缓存, 这个缓存可以跨session 生命周期跟SessionFactory周期一样, 如果关闭SessionFactory, 则二级缓存消失 二级缓存跟一级缓存的相同点在于同样只能缓存实体对象而不能缓存属性 适合使用二级缓存: 数据比较少改动(经常被读, 很少修改) 数据不是很重要, 只是偶尔的并发 参考数据 不适...原创 2018-09-22 21:38:37 · 302 阅读 · 0 评论 -
Hibernate框架之一级缓存
一级缓存: 一级缓存不能跨session, 只能缓存实体对象, 不能缓存属性 package com.rl.hiber.test; import java.util.Date; import java.util.Iterator; import java.util.List; import org.hibernate.Query; import org.hibernate.Sess...原创 2018-09-22 16:40:17 · 220 阅读 · 0 评论 -
Hibernate框架之抓取策略
抓取策略是表与表之间的关联之间才能体现出来的, 这里介绍一对多跟多对一的情况, 因为多对多可以看成是两个一对多, 一对一也是一对多里面的一种特殊情况 多对一的单端抓取: "Emp.hbm.xml"配置文件: <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibe...原创 2018-09-18 18:05:19 · 271 阅读 · 0 评论 -
Hibernate的并发控制
①悲观锁 悲观锁是数据库的机制, 并不是Hibernate框架提供的, 例如: select * from item for update, 此时数据库就被上锁了, A在查询时, B是不能查询的, 是被阻塞在外面的 新建一个Item类: package com.rl.hiber.model; public class Item { private Integer itemId;...原创 2018-09-18 06:26:20 · 546 阅读 · 0 评论 -
Hibernate框架继承映射之表的继承
继承映射: 类有继承的概念, 表是没有继承的概念的, 但是可以体现这种关系 首先, 新建三个类, 分别是Animal类/Pig类/Bird类, 它们之间的关系是Pig类继承Animal类/Bird类继承Animal类, 然后建立映射关系 工程结构如图: ①单表继承映射(缺点: 出现冗余字段) 将这些属性存储在一张表中: anId anName gender weig...原创 2018-09-16 09:50:51 · 291 阅读 · 0 评论 -
Hibernate框架简介①
这个Hibernate框架系列是使用配置文件的方式来搭建的(非注解方式) 搭建环境: 引包: 链接:https://pan.baidu.com/s/1tqCg1HYwQaW86HDW6s2rLg 密码:upj1 创建实体类User: package com.rl.hiber.model; import java.util.Date; public class User { ...原创 2018-08-09 23:24:48 · 335 阅读 · 0 评论 -
Hibernate框架简介②
模型类的规范: 1 必须有默认构造方法, 查询时把数据表中的一条数据映射成一个对象时需要使用默认构造器来创建对象 2 必须提供一个OID, 作为对象的主键(就是userId了) 3 属性必须私有化封装, 就是提供set跟get方法 4 不要使用final来修饰模型类中的成员, 如果是final修饰在后续要讲到的延迟加载无法实现 5 最好使用封装类, 基本类型 int 默认值是...原创 2018-08-10 14:14:32 · 321 阅读 · 0 评论 -
Hibernate框架简介③
数据库的事务的隔离级别: 序列化读(Serializable): 级别最高, 最安全, 但效率最低, A事务没有提交或回滚之前, 其他事务不能操作A正在操作的数据 不可提交读(read-uncommitted): 简单理解就是事务在没有提交的情况下读取数据. 脏读: A事务读取数据时, B事务在修改数据但还没提交, A事务再次读取该数据时能够读取到B事务修改的数据 不可...原创 2018-08-10 23:20:17 · 259 阅读 · 0 评论 -
Hibernate框架简介⑤
HQL查询 hql语句中没有*的写法: 测试代码: package com.rl.hiber.test.hql; import java.util.Date; import java.util.List; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.Transaction;...原创 2018-08-11 23:56:37 · 551 阅读 · 0 评论 -
Hibernate注解开发之属性级别的注解
回顾 Hibernate注解开发之类级别的注解 属性级别注解 @Id 必须, 表示映射到数据库表中的主键的属性, 一个实体类可以有一个或多个属性被映射为主键, 可置于主键属性或者getXxx()方法上 如果一个类中有多个属性被定义为主键, 则该实体类必须实现Serializable接口 @GeneratedValue(strategy = "") ① stra...原创 2019-01-04 14:35:16 · 526 阅读 · 0 评论