Hibernate
kris234seth
这个作者很懒,什么都没留下…
展开
-
Hibernate之Session缓存以及操作Session缓存的相关方法
1、Session概述 A、Session 接口是 Hibernate 向应用程序提供的操纵数据库的最主要的接口, 它提供了基本的保存, 更新, 删除和加载 Java 对象的方法. B、 Session 具有一个缓存, 位于缓存中的对象称为持久化对象, 它和数据库中的相关记录对应. Session 能够在某些时间点, 按照缓存中对象的变化来执行相关的 SQL 语句, 来同步原创 2015-07-29 22:33:19 · 1390 阅读 · 0 评论 -
Hibernate之QBC查询与本地SQL查询
1. QBC查询: QBC 查询就是通过使用Hibernate提供的QueryByCriteria API 来查询对象,这种API封装了SQL语句的动态拼装,对查询提供了更加面向对象的功能接口 QBC查询示例(接HQL查询,使用上一篇相同的环境): @Test public void testQBC(){ //1. 创建一个Criteria 对象 Criteri原创 2015-11-11 22:34:29 · 492 阅读 · 0 评论 -
Hibernate之Session对象的相关方法以及持久化对象的状态
一、持久化对象的状态 站在持久化的角度, Hibernate 把对象分为 4种状态: 持久化状态,临时状态,游离状态,删除状态.Session 的特定方法能使对象从一个状态转换到另一个状态. •临时对象(Transient): –在使用代理主键的情况下, OID 通常为null –不处于原创 2015-08-11 21:43:19 · 947 阅读 · 0 评论 -
Hibernate之基于外键映射的一对一(1-1)关联关系
1.对于基于外键的1-1关联,其外键可以存放在任意一边,在需要存放外键一端,增加many-to-one元素。为many-to-one元素增加unique=“true”属性来表示为1-1关联 2.另一端需要使用one-to-one元素,该元素使用property-ref属性指定使用被关联实体主键以外的字段作为关联字段 <one-to-one n原创 2015-09-25 23:52:47 · 1583 阅读 · 1 评论 -
Hibernate之基于主键映射的一对一关联关系
1. 基于主键的映射策略:指一端的主键生成器使用foreign策略,表明根据”对方”的主键来生成自己的主键,自己并不能独立生成主键.并用 子元素指定使用当前持久化类的哪个属性作为“对方” 2. 采用foreign主键生成器策略的一端增加one-to-one元素映射关联属性,其one-to-one属性还应增加constrained=“true”属性;另一端增加one-to-one元素映射关联属性原创 2015-10-26 21:11:06 · 435 阅读 · 0 评论 -
Hibernate之继承映射
1. Hibernate支持三种继承映射策略: –使用 subclass进行映射:将域模型中的每一个实体对象映射到一个独立的表中,也就是说不用在关系数据模型中考虑域模型中的继承关系和多态。 –使用 joined-subclass进行映射:对于继承关系中的子类使用同一个表,这就需要在数据库表中增加额外的区分子类类型的字段。 –使用 union-subclass 进行映射:域模型中的每个原创 2015-10-27 21:58:13 · 512 阅读 · 0 评论 -
Hibernate关联关系之双向1—n
•双向 1-n 与双向 n-1 是完全相同的两种情形 •双向 1-n 需要在1的一端可以访问n的一端,反之依然. 测试实例代码: 实体类: package com.elgin.hibernate.nto1both; public class Order { private int orderId; private String orderName; private Cust原创 2015-09-22 23:04:52 · 615 阅读 · 0 评论 -
Hibernate之管理session与批处理
1. Hibernate 自身提供了三种管理 Session对象的方法 –Session对象的生命周期与本地线程绑定 –Session 对象的生命周期与JTA事务绑定 –Hibernate 委托程序管理Session对象的生命周期 2.Hibernate中Session管理方式的配置 在 Hibernate的配置文件中,hibernate.current_sessi原创 2015-11-15 21:19:53 · 561 阅读 · 0 评论 -
Hibernate之HQL查询
一、Hibernate 提供了以下几种检索对象的方式: 导航对象图检索方式: 根据已经加载的对象导航到其他对象 OID 检索方式: 按照对象的 OID 来检索对象 HQL 检索方式:使用面向对象的 HQL 查询语言 QBC 检索方式: 使用 QBC(Query By Criteria) API 来检索对象. 这种 API 封装了基于字符串形式的查询语句, 提供了更加面向对象的查询接口.原创 2015-11-10 23:22:09 · 3403 阅读 · 0 评论 -
Hibernate的常用关键类以及接口介绍
上一篇初步的对Hibernate进行了认识,并测试了Hibernate的HelloWorld, 这里主要介绍HibernateTest类中的相关类和接口,以及其作用和特性,关于Session中的相关方法,下篇中会作为重点体会学习。 1、Configuration 类 • Configuration 类负责管理 Hibernate 的配置信息。包括: – Hibe原创 2015-07-29 21:24:53 · 469 阅读 · 0 评论 -
Hibernate关联关系之——单向n-1
1 .单向 n-1 关联只需从n的一端可以访问1的一端 2.域模型: 从Order到Customer的多对一单向关联需要在Order类中定义一个Customer属性,而在Customer类中无需定义存放Order对象的集合属性 3.关系数据模型:ORDERS表中的CUSTOMER_ID参照CUSTOMER表的主键 测试代码: 1.Customer实体类和Order实体类原创 2015-09-21 22:28:09 · 464 阅读 · 0 评论 -
Spring4整合Hibernate4详细示例
1. Spring整合Hibernate,主要是解决什么问题? a、让Spring提供的IOC容器来管理Hibernate的SessionFactory b、让Hibernate使用Spring提供的声明式事物 2. 整合步骤: 新建一个Java工程,并新建用来保存依赖jar包的lib目录 ①. 加入Hibernate支持:原创 2015-11-16 23:31:14 · 23841 阅读 · 2 评论 -
Hibernate初认识以及HelloWorld
一、Hibernate初认识 1、 Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 2、对于对象持久化的理解: a.狭义的理解,“持久化”仅仅指把对象永久保存到数据库中 b.广义的理解,“持久化”包括和数据库相关的各种操作: –保存:把对原创 2015-07-16 20:04:28 · 572 阅读 · 0 评论 -
Hibernate的二级缓存
一、缓存(Cache):计算机领域非常通用的概念。它介于应用程序和永久性数据存储源(如硬盘上的文件或者数据库)之间,其作用是降低应用程序直接读写永久性数据存储源的频率,从而提高应用的运行性能。缓存中的数据是数据存储源中数据的拷贝。缓存的物理介质通常是内存 二、Hibernate中提供了两个级别的缓存 1、第一级别的缓存是 Session级别的缓存,它是属于事务范围的缓存。这一级别原创 2015-11-12 22:05:34 · 678 阅读 · 0 评论 -
Hibernate检索策略
1. Hibernate的检索策略概述: 检索数据时的 2 个问题: 1.不浪费内存:当 Hibernate 从数据库中加载 Customer 对象时, 如果同时加载所有关联的 Order 对象, 而程序实际上仅仅需要访问 Customer 对象, 那么这些关联的 Order 对象就白白浪费了许多内存. 2.更高的查询效率:发送尽可能少的 SQL 语句 2. H原创 2015-10-29 23:11:19 · 431 阅读 · 0 评论