
hibernate
文章平均质量分 70
bruobuqi
每一个不曾起舞的日子,都是对生命的辜负
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
BaseHibernateDao BaseHibernate工具类
/** * Created by 李东 on 2017/10/26. */ @Repository public class BaseHibernateDao { private HibernateTemplate hibernateTemplate; private SessionFactory sessionFactory; public SessionFact原创 2018-01-22 11:21:09 · 853 阅读 · 0 评论 -
hibernate 的多表设计 关联关系映射 级联操作
1.1表之间关系存在3种:一对多、多对多、一对一 1.1 一对多操作 一个客户有多个订单(即订单的外键和客户主键相关联) 直接代码: @Test public void TestDemo1(){ Session session= HibernateUtils.openSession(); Transaction transaction= session原创 2018-01-04 15:41:57 · 382 阅读 · 0 评论 -
hibernate PO对象操作
1.1.1 save & persist l save方法:瞬时态 转换 持久态 ,会初始化OID 1.执行save方法,立即触发insert语句,从数据库获得主键的值(OID值) 2.执行save方法前,设置OID将忽略。 3.如果执行查询,session缓存移除了,在执行save方法,将执行insert // save方法,如果保存的对象在保存之前设置了ID.那么该ID也被认为是原创 2018-01-04 15:09:16 · 365 阅读 · 0 评论 -
hibernate一级缓存快照 刷新
快照:与一级缓存一样的存放位置,对一级缓存数据备份。保证数据库的数据与 一级缓存的数据必须一致。如果一级缓存修改了,在执行commit提交时,将自动刷新一级缓存,执行update语句,将一级缓存的数据更新到数据库。 1.1.1 refresh 刷新 refresh 保证 一级缓存的数据 与 数据库的数据 保持一致。将执行select语句查询数据库,将一级缓存中的数据覆盖掉。原创 2018-01-04 14:38:18 · 577 阅读 · 0 评论 -
hibernate一级缓存的移除
方法 //清除 1.session.clear(); 2.session.evict(user); 不多说直接代码 @Test //一级缓存的移除 public void TestDemo2(){ Session session= HibernateUtils.openSession(); //开始事物 Transac原创 2018-01-04 14:26:03 · 2578 阅读 · 0 评论 -
关于hibernate的一些学习总结之 缓存篇
1 一级缓存 一级缓存:又称为session级别的缓存。当获得一次会话(session),hibernate在session中创建多个集合(map),用于存放操作数据(PO对象),为程序优化服务,如果之后需要相应的数据,hibernate优先从session缓存中获取,如果有就使用;如果没有再查询数据库。当session关闭时,一级缓存销毁。 1.1 证明一级缓存(注意看控制台的sq原创 2018-01-04 14:10:27 · 170 阅读 · 0 评论 -
hibernate 事务
l 事务:一组业务操作,要么全部成功,要么全部不成功。 l 特性:ACID 原子性:整体 一致性:数据 隔离性:并发 持久性:结果 l 隔离问题: 脏读:一个事务读到另一个事务未提交的内容 不可重复读:一个事务读到另一个事务已提交的内容(insert) 虚读(幻读):一个事务读到另一个事务已提交的内容(update) l 隔离级别--解决问题 read uncommittd,原创 2018-01-05 17:03:46 · 162 阅读 · 0 评论 -
Hibernate的关联关系映射:(多对多)
1.创建实体 //学生类 public class Student { private Integer sid; private String sname; // 学生选择多门课程. private Set courses = new HashSet();} //课程类 public class Course { private Integer原创 2018-01-05 13:10:58 · 270 阅读 · 0 评论 -
hibernate HQL
1. hsql介绍: 1.查询所有客户 代码: @Test public void TestDemo1(){ Session session= HibernateUtils.openSession(); Transaction transaction= session.beginTransaction(); Query query=session.原创 2018-01-05 15:22:15 · 307 阅读 · 0 评论 -
hibernate 抓取策略(优化)
1.1 检索方式 l 立即检索:立即查询,在执行查询语句时,立即查询所有的数据。 l 延迟检索:延迟查询,在执行查询语句之后,在需要时在查询。(懒加载) 1.2 检查策略 l 类级别检索:当前的类的属性获取是否需要延迟。 l 关联级别的检索:当前类 关联 另一个类是否需要延迟。 1.1 类级别检索 l get:立即检索。get方法一执行,立即查询所有字段的数据。原创 2018-01-05 13:21:12 · 355 阅读 · 0 评论