Hibernate 框架学习整理(一)

原创 2016年08月30日 12:59:41

最近在温习spring框架的内容,本篇是对之前的hibernate框架的一些总结:
对象/关系数据库映射(一)基础

  • 4.1.1.对持久化对象的要求
    1.提供一个无参的构造器。使Hibernate可以使用Constructor.newInstance() 来实例化持久化类。
    2.提供一个标识属性(identifier property)。通常映射为数据库表的主键字段。如果没有该属性,一些功能将不起作用,如:Session.saveOrUpdate()。
    3.为类的持久化类的字段声明访问方法(get/set)。Hibernate对JavaBeans风格的属性实行持久化。
    4.使用非final类。在运行时生成代理是Hibernate的一个重要的功能。如果持久化类没有实现任何接口,Hibnernate 使用 CGLIB 生成代理。如果使用的是 final 类,则无法生成CGLIB代理。(这边要说明的是我们涉及的代理模式主要有两种:
    基于jdk的动态代理,基于类的cglib代理,这个具体的在以后会细讲)
    5.重写eqauls()和hashCode()方法。如果需要把持久化类的实例放到Set中(当需要进行关联映射时),则应该重写这两个方法。
  • OID:为了在系统中能够找到所需对象,需要为每一个对象分配一个唯一的标识号。在关系数据库中称之为主键,而在对象术语中,则叫做对象标识(Object identifier-OID)
  • 4.3.1.持久化类的属性及访问方法
    Hibernate中持久化类的访问者有两个:
    1,Java应用程序
    2,hibernate(何时调用get、set方法?如下图所示)

这里写图片描述

  • 4.3.2.使用基本数据类型和包装类型的区别
    <property name=“price” type=“double” column=“PRICE” />
    基本类型可直接运算、无法表达null、数字类型的默认值为0。
    包装类默认值是null。当对于默认值有业务意义的时候需要使用包装类。
  • 4.3.3.Hibernate访问持久化类属性的策略
  • propertye (默认值):
    表明hibernate通过getXXX和setXXX来访问类属性。推荐使用。提高域模型透明性。
    field
    hibernate通过java反射机制直接访问类属性。对于没有get与set方法的属性可设置该访问策略。
    noop
    它映射Java持久化类中不存在的属性,即主要用于HQL(用query接口测试,使用hql语句)中,当数据库中有某列,而实体中不存在的情况。

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

4.4.映射对象标识符(OID,对应数据库主键)
4.4.1.OID,唯一性的标志
主键必备条件:
1,不能为null。
2,唯一,不能重复。
3,永远不会改变。

4.4.4.java与Hibernate如何区分对象
Java语言按内存地址(==)或equals()方法区分不同的对象
Hibernate中用对象表示符(OID)来区分对象

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

4.4.5.6.3.映射复合主键(方法二)

这里写图片描述
以上是本人觉得hibernate一些重要的地方的一些整理,对应的文档大家也可以下载看看。
http://download.csdn.net/detail/z1729734271/9616747

版权声明:本文为博主原创,无版权,未经博主允许可以随意转载,无需注明出处,随意修改或保持可作为原创!

Hibernate框架学习(一 )

Hibernate框架主要是实现数据库与实体类间的映射,使的操作实体类相当与操作hibernate框架。  只要实体类写好配置文件配好,就能实现和数据库的映射,其中实体类对应表,类的属性对应数据库的表...
  • lishuangzhe7047
  • lishuangzhe7047
  • 2014年04月14日 22:57
  • 12294

Kafka学习整理一(基础概念)

Kafka基础概念Kafka中包含以下基础概念 1. Topic(话题):Kafka中用于区分不同类别信息的类别名称。由producer指定 2. Producer(生产者):将消息发布到Kafk...
  • LOUISLIAOXH
  • LOUISLIAOXH
  • 2016年05月27日 16:35
  • 3540

Hibernate整理学习(一)

Hibernate学习整理(一) hibernate定义 hibernate是一种框架,一种开源的关系对象映射框架,它对JDBC做了 轻量级的封装,可以让使用者直接通过操纵POJO对象,来完...
  • Fisher_zyf
  • Fisher_zyf
  • 2017年05月06日 09:48
  • 156

yii2框架-yii2文档资料整理(一)

最近在学习yii2的框架,因为国内关于yii2框架的具体中文资料还是比较少,下面整理一些比较好的中文资料。 (1)yii2的底层和架构方面   a)http://www.yiichina.com/do...
  • myhuashengmi
  • myhuashengmi
  • 2016年12月29日 21:36
  • 620

CI框架学习总结

之前主要搞C++,现在学习PHP,为了能够快速的理解MVC框架,根据buddy的建议,就选择了轻量级框架-CI,使用起来确实简单易学,并有详细的中文文档可够查阅。CodeIgniter 是一个小巧但功...
  • xjc200808
  • xjc200808
  • 2016年01月20日 15:26
  • 627

【Hibernate框架学习】:Hibernate进阶之Hibernate核心接口和类(一)

我们来看一下Hibernate的执行流程:                         由此我们可以大概知道Hibernate的核心接口和类,Hibernate的核心类和接口一共有6个,分别...
  • erlian1992
  • erlian1992
  • 2016年12月06日 22:38
  • 736

学习笔记之思路整理

1.图片处理:(流程被分配在16个线程中处理) 图片会被统一裁剪到24x24像素大小,裁剪中央区域用于评估或随机裁剪用于训练; 图片会进行近似的白化处理,使得模型对图片的动态范围变...
  • hensonwells
  • hensonwells
  • 2017年07月14日 18:44
  • 225

Hibernate4学习总结(1)--基本原理,开发步骤,配置详解

本文包括以下五个部分: 1. ORM思想以及JAP的概述。 2. Hibernate框架的简介。 3. 模拟Hibernate框架,理解运行原理。 ...
  • qq_29829081
  • qq_29829081
  • 2016年03月29日 01:32
  • 5186

Hibernate框架基础——Hibernate入门

Hibernate入门Hibernate介绍Hibernate是一个基于jdbc的开源的持久化框架,是一个优秀的ORM实现,它很大程度的简化了dao层编码工作。Hibernate对JDBC访问数据库的...
  • yerenyuan_pku
  • yerenyuan_pku
  • 2016年10月04日 12:01
  • 9354

WebService学习总结(二)--相关概念及几种主流框架

一、WebService是什么?   1. 基于Web的服务:服务器端整出一些资源让客户端应用访问(获取数据)   2. 一个跨语言、跨平台的规范(抽象)   3. 多个跨平台、跨语...
  • wangjinxinnb
  • wangjinxinnb
  • 2017年02月14日 09:02
  • 831
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Hibernate 框架学习整理(一)
举报原因:
原因补充:

(最多只允许输入30个字)