![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Hibernate
似梦的年华ヽ
这个作者很懒,什么都没留下…
展开
-
hibernate (二):主键生成策略
hibernate的主键生成器: generator元素:表示了一个主键生成器,它用来为持久化类实例生成唯一的标识 主键生成器: 1、程序员自己控制 assigned 提示:如果hibernate设置了程序员自己控制数据库主键设置了自动增长也不会成功 <generator class="assigned"></generator> 2、数据库控制 identity(标...原创 2018-10-22 19:15:25 · 193 阅读 · 0 评论 -
hibernate(三)加载策略和并发控制
1. 对象的三种状态(hibernate管理的对象) 1.1 临时状态 1.2 持久状态 1.3 游离状态 1、hibernate是通过管理对象来操作数据,这里对象指的是持久化对象。 2、hibernate中的三种状态的对象是可以相互转换的,通常编码时只关注持久 化对象。关注get、save、update方法所操作后的对象 加载策略 通过get、load两个方法讲解加载策略: hibernate...原创 2018-10-25 09:40:32 · 177 阅读 · 0 评论 -
hibernate(四)一对多关联
案例:级联新增、级联查询 注意:在Hibernate当中定义实体对象的集合属性时,只能使用接口而不能使用类 数据库表: // -- 订单表(主表) // create table t_hibernate_order // ( // order_id int primary key auto_increment, // order_no varchar(50) not null // ); ...原创 2018-10-28 14:31:08 · 130 阅读 · 0 评论 -
hibernate(五)多对多
数据库中不能直接映射多对多 处理:创建一个桥接表(中间表),将一个多对多关系转换成两个一对多 hibernate可以直接映射多对多关联关系(看作两个一对多) 3. 多对多关系注意事项 3.1 一定要定义一个主控方 3.2 多对多删除 3.2.1 主控方直接删除 3.2.2 被控方先通过主控方解除多对多关系,再删除被控方 3.2.3 禁用级联删除 3.3 关联关系编辑,不需要直接操作桥接表,hibe...原创 2018-10-28 14:51:46 · 156 阅读 · 0 评论 -
hibernate (一) 入门
什么是hibernate? ORM框架/持久层框架 object reference mapping 通过管理对象来改变数据库中的数据 通过管理对象来操作数据库 优势:跨数据库的无缝移植 如何在项目中添加hibernate支持(手动添加) 1、 添加hibernate相关依赖 2、在resource目录下添加hibernate.cfg.xml(核心配置文件) 1、添加DTD支持 2、添加...原创 2018-10-21 20:46:51 · 86 阅读 · 0 评论 -
hibernate(六)多对多关系维护
多对多关系维护: 通过inverse属性值的设置来控制 inverse :反方 分为3种情况: 1、 inverse=“false” inverse=“false” 2、正确 inverse=“false” inverse=“true” 指的是将级联关系的维护的责任交给一方控制 3、 inverse=“true” inverse=“true” 例如: 两个人去吃饭,吃完饭付款: 第一种情况相当于两...原创 2018-10-29 18:41:22 · 281 阅读 · 1 评论 -
hibernate(七)HQL(1)
HQL HQL是Hibernate Query Language的缩写 hql和sql区别/异同 hql sql 类名/属性 表名/列名 区分大小写,关键字不区分大小写 不区分大小写 别名 别名 ?(占位符),从下标0开始计算位置(hibernate5之后不支持) ?(占位符),从顺序1开始计算位置 :命名参数 不支持:命名参数 面向对象的查询语言 面向结构查询...原创 2018-11-03 14:44:58 · 138 阅读 · 0 评论 -
hibernate(八)HQL(2)
BaseDAO需求 作用: 1、将赋值的操作交给basedao 2、分页 a、查询出符合条件的总记录数 b、查询符合条件的某一页记录 package com.zking.eight.dao; import java.util.Collection; import java.util.List; import java.util.Map; import org.hibernate.Ses...原创 2018-11-03 15:08:05 · 185 阅读 · 0 评论 -
hibernate(九)二级缓存(ehcache)
1、为什么需要缓存? 拉高程序的性能 关系型数据库:数据与数据之间存在关系(联系)的数据库 mysql/Oracle、sqlserver 非关系型数据库:数据与数据之间是不存在关系的,key-value 1、基于文件存储的数据库:ehcache 2、基于内存存储的数据库:redis、memcache 3、基于文档存储的数据库:mongodb 2、 什么样的数据需要缓存? 很少被修改或根本不改的数据...原创 2018-11-03 15:50:28 · 126 阅读 · 0 评论