![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Hibernate
伊佐奈美須八尾
这个作者很懒,什么都没留下…
展开
-
Hibernate----学习(2)----Hibernate环境搭建及简单测试
1. 导入hibernate必须的jar包:2. 加入数据库驱动的jar包: MySQL驱动 oracle驱动3.简单示例。 3.1 创建 Hibernate 配置文件 hibernate.cfg.xml文件 Hibernate 从其配置文件中读取和数据库连接的有关信息,这个文件应该位于应用的 classpat...原创 2019-03-05 11:54:06 · 155 阅读 · 0 评论 -
Hibernate----学习(20)----HQL (迫切)左外连接
1 .迫切左外连接: –LEFT JOIN FETCH 关键字表示迫切左外连接检索策略. –list() 方法返回的集合中存放实体对象的引用, 每个 Department 对象关联的 Employee 集合都被初始化, 存放所有关联的 Employee 的实体对象. ·–查询结果中可能会包含重复元素, 可以通过一个 HashSet 来...原创 2019-03-15 15:24:48 · 314 阅读 · 0 评论 -
Hibernate----学习(21)----QBC 检索和本地 SQL 检索
1.QBC 检索 QBC 查询就是通过使用 Hibernate 提供的 Query By Criteria API 来查询对象, 这种 API 封装了 SQL 语句的动态拼装,对查询提供了更加面向对象的功能接口@Test public void testQBC4(){ Criteria criteria = session.creat...原创 2019-03-15 15:53:41 · 168 阅读 · 0 评论 -
Hibernate----学习(10)----单向多对一映射
1. 单向 n-1 关联只需从 n 的一端可以访问 1 的一端2.域模型: 从 Order 到 Customer 的多对一单向关联需要在Order 类中定义一个 Customer 属性, 而在 Customer 类中无需定义存放 Order 对象的集合属性3.关系数据模型:ORDERS 表中的 CUSTOMER_ID 参照 CUSTOMER 表的主键...原创 2019-03-12 10:13:57 · 100 阅读 · 0 评论 -
Hibernate----学习(11)----双向一对多映射
1.双向 1-n 与 双向 n-1 是完全相同的两种情形2.双向 1-n 需要在 1 的一端可以访问 n 的一端, 反之依然.3. 域模型:从 Order 到 Customer 的多对一双向关联需要在Order 类中定义一个 Customer 属性, 而在 Customer 类中需定义存放 Order 对象的集合属性4 关系数据模型:ORDERS 表中的 CUSTOME...原创 2019-03-12 11:19:33 · 88 阅读 · 0 评论 -
Hibernate----学习(11)----set节点
1.<set> 元素来映射持久化类的 set 类型的属性 –name: 设定待映射的持久化类的属性的2. <set> 元素的 inverse 属性 2.1 在hibernate中通过对 inverse 属性的来决定是由双向关联的哪一方来维护表和表之间的关系. inverse = false 的为主动方,inve...原创 2019-03-12 13:50:55 · 163 阅读 · 0 评论 -
Hibernate----学习(12)----基于外键映射的一对一关联关系
1. 对于基于外键的1-1关联,其外键可以存放在任意一边,在需要存放外键一端,增加many-to-one元素。 为many-to-one元素增加unique=“true” 属性来表示为1-1关联2. 另一端需要使用one-to-one元素,该元素使用 property-ref 属性指定使用被关联实体主键以外的字段作为关联字段3.示例。 3.1 目录结构...原创 2019-03-12 15:15:49 · 157 阅读 · 0 评论 -
Hibernate----学习(13)----基于主键映射的一对一关联关系
1. 基于主键的映射策略:指一端的主键生成器使用 foreign 策略,表明根据”对方”的主键来生成自己的主键, 自己并不能独立生成主键. <param> 子元素指定使用当前持久化类的哪个属性作为 “对方”2. 采用foreign主键生成器策略的一端增加 one-to-one 元素映射关联属性, 其one-to-one属性还应增加 constrai...原创 2019-03-12 16:03:23 · 98 阅读 · 0 评论 -
Hibernate----学习(15)----映射多对多关联关系
单向 n-n1. 域模型: 2. 关系数据模型3. n-n 的关联必须使用连接表 与 1-n 映射类似,必须为 set 集合元素添加 key 子元素,指定 CATEGORIES_ITEMS 表中参 照 CATEGORIES 表的外键为 CATEGORIY_ID. 与 1-n 关联映射不同的是,建立 n-n 关联时, 集合中的元素使用 many-to-many. ...原创 2019-03-13 16:35:46 · 148 阅读 · 0 评论 -
Hibernate----学习(19)----HQL检索之分页查询,命名查询,投影查询,报表查询
1. 分页查询 –setFirstResult(int firstResult): 设定从哪一个对象开始检索, 参数 firstResult 表示这个对象在查询结果中的索引位置, 索引位置的起始值为 0. 默认情况下, Query 从查询结果中的第一个对象开始检索 –setMaxResults(int maxRes...原创 2019-03-15 14:52:22 · 145 阅读 · 0 评论 -
Hibernate----学习(18)----检索方式----HQL检索方式概述
1.HQL(Hibernate Query Language) 是面向对象的查询语言, 它和 SQL 查询语言有些相似. 在 Hibernate 提供的各种检索方式中, HQL 是使用最广的一种检索方式. 它有如下功能: –在查询语句中设定各种查询条件 –支持投影查询, 即仅检索出对象的部分属性 –支持分页查询...原创 2019-03-15 13:49:51 · 132 阅读 · 0 评论 -
Hibernate----学习(7)----对象关系映射文件(.hbm.xml)
1.对象关系映射文件概述: 1.1POJO 类和关系数据库之间的映射可以用一个XML文档来定义。 1.2通过 POJO 类的数据库映射文件,Hibernate可以理解持久化类和数据表之间的对应关系, 也可以理解持久化类属性与数据库表列之间的对应关系 1.3 在运行时 Hibernate 将根据这个映射文件来生成各种 SQL ...原创 2019-03-07 16:59:00 · 184 阅读 · 0 评论 -
Hibernate----学习(3)----Session && Session 缓存(一级缓存)
1. Session 概述 •Session 接口是 Hibernate 向应用程序提供的操纵数据库的最主要的接口, 它提供了基本的保存, 更新, 删除和加载 Java 对象的方法. •Session 具有一个缓存, 位于缓存中的对象称为持久化对象, 它和数据库中...原创 2019-03-05 17:29:29 · 104 阅读 · 0 评论 -
Hibernate----学习(1)----Hibernate概述和Hibernate插件的安装
1.Hibernate 1.1 一个框架 1.2 一个 Java 领域的持久化框架 PS: 对象的持久化 1.2.1 狭义的理解,“持久化”仅仅指把对象永久保存到数据库中 1.2.2 广义的理解,“持久化”包括和数据库相关的各种操作 ...原创 2019-03-02 16:31:17 · 125 阅读 · 0 评论 -
Hibernate----学习(4)----持久化对象的状态
1.站在持久化的角度, Hibernate 把对象分为 4 种状态:持久化状态, 临时状态, 游离状态, 删除状态. Session 的特定方法能使对象从一个状态转换到另一个状态. 2. 临时对象(Transient): –在使用代理主键的情况下, OID 通常为 null –不处于 Session 的缓存中...原创 2019-03-05 19:31:05 · 92 阅读 · 0 评论 -
Hibernate----学习(5)----session的核心方法
1.save()方法/* * save() * 1.使一个临时对象变成一个持久化对象。 * 2.为对象分配id * 3.在flush缓存时会发送一条insert语句 * 4.在save方法是之前设置id时无效的 * 5.持久化对象的id是无法改变的 */ @Test public void testSave(){ News news = new News(...原创 2019-03-06 18:15:20 · 88 阅读 · 0 评论 -
Hibernate----学习(6)----hibernate的配置文件(hibernate.cfg.xml)
1. Hibernate 配置文件主要用于配置数据库连接和 Hibernate 运行时所需的各种属性2. 每个 Hibernate 配置文件对应一个 Configuration 对象3. Hibernate配置文件可以有两种格式: –hibernate.properties –hibernate.cfg.xml4. hibernate.cfg.xml的...原创 2019-03-06 18:41:30 · 191 阅读 · 0 评论 -
Hibernate----学习(17)----检索策略
1.类级别的检索策略 1.1 类级别可选的检索策略包括立即检索和延迟检索, 默认为延迟检索 –立即检索: 立即加载检索方法指定的对象 –延迟检索: 延迟加载检索方法指定的对象。在使用具体的属性时,再进行加载 1.2 类级别的检索策略可以通过 <class> 元素的 lazy 属性进行设置...原创 2019-03-14 16:41:46 · 151 阅读 · 0 评论 -
Hibernate----学习(8)----Java 类型, Hibernate 映射类型及 SQL 类型之间的对应关系
原创 2019-03-07 16:25:14 · 175 阅读 · 0 评论 -
Hibernate----学习(9)----Java 时间和日期类型的 Hibernate 映射
1.在 Java 中, 代表时间和日期的类型包括: java.util.Date 和 java.util.Calendar. 此外, 在 JDBC API 中还提供了 3 个扩展了 java.util.Date 类的子类: java.sql.Date, java.sql.Time 和 java.sql.Timestamp, 这三个类分别和标准 SQL 类型中的 DATE, TIME ...原创 2019-03-07 16:47:25 · 208 阅读 · 0 评论 -
Hibernate----学习(16)----映射继承关系
1. Hibernate支持三种继承映射策略: –使用 subclass 进行映射:将域模型中的每一个实体对象映射到一个独立的表中, 也就是说不用在关系数据模型中考虑域模型中的继承关系和多态。 –使用 joined-subclass 进行映射: 对于继承关系中的...原创 2019-03-13 18:01:59 · 148 阅读 · 0 评论