一 hibernate中的实体规则 1.1 实体类创建的注意事项 持久化类提供无参数构造         --在调用instance()方法时默认调用空参构造 成员变量私有,提供共有get/set方法访问.需提供属性   ---Private String name 不叫属性 叫成员变量   --Get和set方法才叫属性 持久化类中的属性,应尽量使用包装类型 持久化类需要提供oid.与数据库中的主键列对应  --没有主键是无法到hibernate里面的 不要用final修饰class     …
关于如何手动创建Hibernate,Hibernate初了解已经介绍了,接下来了解持久化对象和一级缓存. Hibernate的持久化类有三种状态: 1.Transient瞬时态:持久化对象没有唯一标识OID,没有纳入Session的管理. 2.Persistent持久态:持久化对象有唯一标识OID,已经纳入到Session的管理,另外,持久化具有自动更新数据库的特点 3.Detached脱管态:持久化对象有唯一标识OID,没有纳入到Session管理. 下面给出一段代码来区分这三种状态: //…
一.持久化类 1.1 什么是持久化类? Hibernate是持久层的ORM映射框架,专注于数据的持久化工作.所谓的持久化,就是将内存中的数据永久存储到关系型数据库中.那么知道了什么是持久化,什么又是持久化类呢?其实所谓的持久化类知道是一个Java类与数据库表建立了映射关系,那么这个类称为是持久化类.其实你可以简单的理解为持久化类就是一个Java类有了一个映射文件与数据库的表建立了关系.那么我们编写持久化类的时候有哪些要求呢? 1.2 持久化类的编写规则 我们在编写持久化类的时候需要有一下几点需要…
五.映射基础 1.实体类采用javabean的编写规范 JavaBean编写规范: a.类一般是public的 b.有默认的构造方法 c.字段都是私有的 d.提供公有的getter和setter方法 e.一般都实现java.io.Serializable接口 注意:hibernate采用的暴力反射 2.基本类型OR包装类型 int ---> Integer ....... 3.访问实体类数据的策略(了解) 通过上面我们可知,hibernate是采用的暴力反射,所以我们既可以通过属性页可以用过字段…
持久化类 概述 持久化:将内存中的对象持久化到数据库中的过程就是持久化.Hibernate 就是用来进行持久化的框架. 持久化类:一个 Java 对象与数据库的表建立了映射关系,那么这个类在 Hibernate 中称为是持久化类. 也可以看作:持久化类 = JavaBean + 映射文件 编写规则 1.对持久化类提供一个无参构造方法. Hibernate 底层使用反射生成实例. 2.属性需要私有,对私有属性提供 public 的 get 和 set 方法. Hibernate 底层获取和设置对象…
一.对象的三种状态 1.暂时态:当对象刚创建,和Session没有发生任何关系时,当程序运行完就即刻消失,被称为暂时态. 2.持久态:当执行如下代码时,对象变为持久态 Emp e = new Emp(); session.save(); 持久态的对象和Session发生了关系,如执行了save,get,query等方法 Session中会缓存该对象(Session的缓存叫一级缓存) Session再获取对象时,首先去查找一级缓存,如果没有才查询数据库 Session要负责将持久态对象的变化更新到…
Hibernate实体对象生命周期: 1. 自由状态(Transient,临时状态,瞬态) 在内存中自由存在,与数据库无关,未被Hibernate的Session管理 2. 持久状态(Persistent) 被Session管理,在Session的有效期内,它的变化会影响到数据库 3. 游离态(Detached,托管态) Session关闭后,对象进入托管态,它与自由态的区别就是它的数据与数据库中的记录相对应,它包含数据库内的ID信息 三种状态的转换过程如下图(图片来自于网络):…
一.持久化对象po类 1.po定义 PO,是Persistent Object的缩写,是持久化类.PO是由PO=POJO+hbm映射配置组成. 2.通俗理解 PO类即持久化类,其实就是一个普通的JavaBean,只是要申明遵循一定的规则就是一个PO类. 在Hibernate框架中,采用的面向对象的思想实现数据库的CRUD操作.在数据库中每一个表就有一个对应一个持久化对象.PO类可以看成,与数据库表相映射的Java实体对象.最简单的PO类中的属性对应数据库中表的字段名. //演示如何创建一个po实…
在学习Hibernate的过程中我们肯定会碰上一个名词---缓存,一直都听说缓存机制是Hibernate中的一个难点,它分为好几种,有一级缓存,二级缓存和查询缓存 今天呢,我就跟大家分享分享我所理解的一级缓存 要想完美的体现出缓存机制的话,我想通过查询语句生成的sql应该就能够很清楚的看到 那些Hibernate的配置信息我就不展示了,直接看关键代码 场景:我要查询同一个对象,查询两次,观察在不同的情况下,sql语句的生成情况 我事先准备了一个HibernateUtil工具类,具体如下 pack…
hibernate是orm框架的一种,orm即Object Relational Mapping,对象映射关系,其主要作用是将数据库(mysql,mssql,oracle)的对象转换为具体编程语言(如java)较为熟悉的类型,对于java而言,就是一个pojo对象.在做web项目的时候,我们需要把数据库表转换为java实体对象,当然我们可以根据数据表去手写这些java对象,但是这是件很麻烦的事情,而且容易出错.所以我们需要工具.本篇介绍使用Myeclipse来创建hibernate实体对象. 1…