1.  提供一个无参数的构造器:所有的持久化类都应该提供一个无参数的构造器,这个构造器可以不采用public访问控制符.只要提供了无参数的构造器,Hibernate就可以使用Constructor.newInstance()来创建持久化类的实例了.通常,为了方便Hibernate在运行时生成代理,构造器的访问控制修饰符至少是包课件的,及大于或等于默认的访问控制符. 2. 提供一个标识属性:标识属性通常映射数据库表的主机字段.这个属性可以叫任何明智,其类型可以是任何的基本类型.基本类型的包装类型.…
1. 瞬态 : 对象有new操作符创建,且尚未与Hibernate Session关联的对象被认为处于瞬态.瞬态对象不会被持久化到数据库中,也不会被赋予持久化标识.如果程序中失去了瞬态对象的引用,瞬态对象将被垃圾回收几只销毁.使用Hibernate Session可以将其变为持久化状态. 2. 持久化:持久化实例在数据库中有对应的记录,并拥有一个持久化标识(identifier).持久化的实例可以是刚刚保存的,也可以是刚刚被加载的.无论哪一种,持久化对象都必须与指定的Hibernate Sess…
持久化类的创建: 创建一个共有的不带参数的构造方法: public void Students(){ } 创建一个带参数的构造方法: (快捷键创建) 生成get,set方法: *可以不用此方法创建持久化类,直接用笔记(1)中的快速搭建来创建 在源文件中创建source file ,创建StudentsTest类进行测试,导入相应的hibernate和junit包,用junit测试此方法,代码如下: public class StudentsTest { private SessionFactor…
学习点: 1 一对多映射,一方 Grade.hbm.xml的写法: <hibernate-mapping> <class name="com.ddwei.entity.Grade" table="grade"> <id name="gid" type="java.lang.Integer"> <column name="GID" /> <generato…
A.概念 持久化:将内存中的对象持久化(存储)到数据库的过程.Hibernate就是持久化的框架. 持久化类:一个普通java对象与数据库的表建立了映射关系,那么这个类在Hiberna中被称为持久化类.(通俗一点就是java类+映射文件) B.持久化类的编写规则 1.对持久化类提供一个无参构造方法. 当然,如果你什么构造都不写,默认还是有无参的.提供无参构造是为了Hibernate底层能反射生成该持久化类的实例. 2.属性需要私有,对私有属性提供public的get和set方法. 由于底层创建了…
在所有的ORM框架中有一个非常重要的媒介 : PO(持久化对象:Persistent Object).持久化对象的作用是完成持久化操作,简单地说,通过该对象可对数据执行增.删.改的操作 ------ 以面向对象的方式操作数据库. Hibernate直接采用POJO作为持久化类.为了使POJO具备持久化操作的能力,需要添加注解:@Entity.@Table.@Id.@GeneratedValue等. POJO : News package hibernate5chapter; import jav…
目录 Hibernate生成策略与缓存策略 主键生成策略 主键分类 主键的生成策略 持久化 什么是持久化 什么是持久化类 持久化类编写规则 持久化类的划分 三种状态区分 持久态对象特征 一级缓存 什么是缓存 一级缓存 一级缓存特点 一级缓存内部结构 事务管理 什么是事务 事务特性 事务的隔离级别 Hibernate设置事务的隔离级别 事务业务层连接 Hibernate生成策略与缓存策略 主键生成策略 主键分类 自然主键 主键本身就是表中的一个字段 实体中一个具体的属性,对象本身唯一的特性 创建一…
Hibernate的基本用法 ⊙ ORM的基本知识 ⊙ ORM和Hibernate的关系 ⊙ Hibernate的基本映射思想 ⊙ Hibernate入门知识 ⊙ 使用Eclipse开发Hibernate应用 ⊙ Hibernate的体系和核心API ⊙ Hibernate的配置文件 ⊙ 持久化类的基本要求 ⊙ 持久化对象的状态 ⊙ Hibernate的基本映射 ⊙ 数据库对象映射 ⊙ List.Set和Map等集合属性映射 ⊙ 组件属性映射 ⊙ 集合元素为符合类型的映射 ⊙ 符合主键映射 ⊙…
Hibernate充当应用程序和数据库之间的中间件,实现二者之间的交互操作,他对JDBC进行了封装,以完全面向对象的方式来操作数据. 适用于有多个数据源的情况下,不必去考虑不同数据源的操作差异. Hibernate将类型对象与数据库表建立映射关系,把类的属性映射称为数据库表的字段,Hibernate属性映射可分为简单属性映射.集合属性 映射.复合属性映射及派生属性映射.下面分别以实例介绍这几个映射及其对应的映射文件表示方式. 1.简单属性 假设有个User类,对应数据库中的User表 User类…
Hibernate的持久化类状态 持久化类:就是一个实体类 与 数据库表建立了映射. Hibernate为了方便管理持久化类,将持久化类分成了三种状态. 瞬时态 transient (临时态):持久化对象没有唯一标识OID.没有纳入Session的管理 持久态 persistent :持久化对象有唯一标识OID.已经纳入到Session的管理(持久化持久态对象有自动更新数据库的能力) 脱管态 detached (离线态):持久化对象有唯一标识OID,没有纳入到Session管理 区分三种持久化对…
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------…
package com.hanqi.test; import java.util.Date; import java.util.List; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.boot.registry.StandardServiceR…
HIBERNATE - 符合Java习惯的关系数据库持久化      下一页 HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.0.4   目录 前言 1. 翻译说明 2. 版权声明 1. 在Tomcat中快速上手 1.1. 开始Hibernate之旅 1.2. 第一个持久化类 1.3. 映射cat 1.4. 与Cat同乐 1.5. 结语 2. Hibernate入门 2.1. 前言 2.2. 第一部分 - 第一个Hibernate程序 2.2.1. 第…
一.持久化对象po类 1.po定义 PO,是Persistent Object的缩写,是持久化类.PO是由PO=POJO+hbm映射配置组成. 2.通俗理解 PO类即持久化类,其实就是一个普通的JavaBean,只是要申明遵循一定的规则就是一个PO类. 在Hibernate框架中,采用的面向对象的思想实现数据库的CRUD操作.在数据库中每一个表就有一个对应一个持久化对象.PO类可以看成,与数据库表相映射的Java实体对象.最简单的PO类中的属性对应数据库中表的字段名. //演示如何创建一个po实…
     上一篇文章我们简单介绍了Hibernate相关的一些最基本的文件及其作用,并在最后完整的搭建了Hibernate的运行环境,成功的完成了与数据库的映射.但是至于其中的一些更加细节的地方并没有很详尽的解释,本篇则主要介绍Hibernate中的一个关键元素,持久化类.主要涉及以下一些内容: 定义用作持久化类的基本要求 持久化对象的几种不同状态及其相互之间的转换 使用Hibernate完成对数据库的crud操作 一.定义用作持久化类的基本要求      所谓的持久化类其实本质上也就是一个普通…
1-N关系的1端持久化类 package org.drsoft.hibernate.model.oneToMany;     import java.util.Date; import java.util.Set;     import javax.persistence.*;     @Entity @Table(name = "OneToMany_One") public class OneToManyForOneModel { @Id @Column(name = "R…
持久化类标注 标注 @Entity:注解声明该类是一个Hibernate的持久化类 标注 @Table:指定该类映射的表 参数 name:指定映射数据库表的名称 参数 uniqueConstraints:为持久化类所映射的表设置唯一约束,该属性的值是 @UniqueConstraint 标注数组 参数 indexes:为持久化类说映射的表设置索引,该属性的值是 @Index 标注数组 参数 catalog:设置持久化类说映射的表放入指定的 catalog 中,没有指定则放入默认 catalog…
一.持久化类概述 就是一个JavaBean,这个JavaBean与表建立了映射关系.这个类就称为是持久化类. 简单理解为 持久化类=JavaBean+映射文件. 持久化类:是指其实例需要被Hibernate持久化到数据库中的类.持久化类符合JavaBean的规范,包含一些属性,以及与之对应的getXXX()和setXXX()方法. 二.持久化类的编写规范 l  需要提供无参数的构造方法. l  类的属性需要私有,对私有的属性提供public的get和set方法. l  提供一个唯一标识(OID)…
持久化类 概述 持久化:将内存中的对象持久化到数据库中的过程就是持久化.Hibernate 就是用来进行持久化的框架. 持久化类:一个 Java 对象与数据库的表建立了映射关系,那么这个类在 Hibernate 中称为是持久化类. 也可以看作:持久化类 = JavaBean + 映射文件 编写规则 1.对持久化类提供一个无参构造方法. Hibernate 底层使用反射生成实例. 2.属性需要私有,对私有属性提供 public 的 get 和 set 方法. Hibernate 底层获取和设置对象…
Hibernate提供三种方式将POJO变成PO类: 1. 使用持久化注解(以JPA标准注解为主,如果有一些特殊要求,则依然需要使用Hibernate本身提供的注解). 2. 使用JPA2 提供的XML配置描述文件(XML deployment descriptor),这种方式可以让Hibernate的PO类与JPA实体类兼容. 3. 使用Hibernate传统的XML映射文件(*.hbm.xml文件的形式). 对于Hibernate PO类而言,通常可以采用如下两个注解来修饰它: 1. @En…
Hibernate其他常用的配置属性: ⊙ hibernate.show_sql : 是否在控制台输出Hibernate持久化操作底层所使用的SQL语句.只能为true和false两个值. ⊙ hibernate.format_sql : 是否将SQL语句转成格式良好的SQL.只接受true和false两个值. ⊙ hibernate.use_sql_comments : 是否在Hibernate生成的SQL语句中添加有助于调试的注释.只接受true和false值. ⊙ hibernate.jd…
org.hibernate.cfg.Configuration实例代表了应用程序到SQL数据库的配置信息,Configuration对象提供了一个buildSessionFactory()方法,该方法可以产生一个不可变的SessionFactory对象. 另外,先实例化Configuration实例,然后在添加Hiberante持久化类.Configuration对象可调用addAnnotatedClass()方法逐个地添加持久化类,也可调用addPackage()方法添加指定包下的所有持久化类…
1.JavaBean类 JavaBean类是实体类,必须一下属性,private修饰的成员属性,public修饰的getter与setter访问方法,public修饰的空参构造器,实现Serializable接口. 2.持久化类的概念 持久化类就是建立了映射关系的JavaBean类,持久化类 = JavaBean类 + JavaBean类对应的映射配置文件. 编写持久化类时,有几点需要注意: private修饰的成员属性尽量使用基本数据类型对应的包装类,包装类型更合理,例如年龄不存在时,基本类型…
因为最近写项目需要要到,就在这里码码字,方便以后做一个参考,在这里,我通过的是myeclipse的反向工程来配置持久化类和数据的映射文件的. 1.打开myeclipse,打开数据库视图,对应的是Windows->open perspective->myeclipse database explore. 2.在出现的视图中我们选择对应的数据库,右键进行连接,接着去我们连接的对应的数据库下获取相应的table,在选定的table上右键,就会出现如下图所示的样例 选择上面的hibernate rev…
一.hibernate的持久化类 1.什么是持久化类: 持久化:将数据存储到关系型数据库. 持久化类:与数据库中的数据表建立了某种关系的java类.(持久化类=javabean+映射配置文件) 2.持久化类的编写规则: (1)需要提供无参的构造方法.因为在Hibernate底层需要使用反射生成类的实例. (2)持久化类的属性需要私有,对私有的属性提供公有的get和set方法. (3)持久化类的属性要尽量使用包装类的类型.包装类的类型予以描述更清晰而基本数据类型不容易描述. (4)持久化类要有一个…
编写第一个Hibernate例子 第二步:创建持久化类(持久化类的设计原则要遵循javabeans的设计原则) javabeans的设计原则: 1.公有的类2.提供公有的不带参数的默认的构造方法3.属性私有 4.属性setter/getter封装 新建一个Students类(持久化类) import java.util.Date; //学生类 public class Students { // 1.公有的类 // 2.提供公有的不带参数的默认的构造方法 // 3.属性私有 // 4.属性set…
在使用hibernate注解修饰字符串长度时,如果一开始没有把String类型的变量长度设计好,在网数据库插入数据时,容易造成字段长度超出错误,这时候需要修改@Column里length的大小.如果使用的是自动建表hibernate.hbm2ddl.auto=update,那么在修改完持久化类里@Clomun(length="2048")后,需要在mysql里面再修改一次length.借助于Navicat for Mysql,只需打开相应的表设计就行了. 简单来说. 第一步:修改@Co…
注意事项: 提供无参的构造方法,因为在hibernate需要使用反射生成类的实例 提供私有属性,并对这些属性提供公共的setting和getting方法,因为在hibernate底层会将查询到的数据进行封装 尽量使用封装类,因为包装类和基本数据类型的默认值不一样,包装类的类型语义更加清晰,而基本数据类型不容易描述 提供唯一一个oid,与数据库表的主键对应:因为hibernate需要使用oid来判断在内存中是否存在同一个持久化类,而在Java中是通过地址来区分的是否是同一条记录 不要用final修…
hibernate的持久化类 持久化:将内存中的一个对象持久化到数据库中的过程,hibernate就是一个用来进行持久化的框架 持久化类:一个Java对象与数据库中表建立了关系映射,那么这个类在hibernate中就可以称之为持久化类 Java实体类 该Java类的映射文件 持久化类的使用 提供无参构造 从之前测试类中查询的使用来看: User user = session.get(User.class, 1); 说明hibernate内部是使用反射技术实现生成对象实例,所以持久化类中的Java…
持久化类:就是一个Java类(JavaBean),这个类与表建立映射关系就可以成为是持久类 持久化类 = JavaBean + xxx.hbm.xml 编写规则: 1.提供一个无参数,public访问控制符的控制器 --底层需要反射 2.提供一个标识属性,映射数据表主键字段 --唯一标识OID,数据库通过主键,Java对象通过地址确定对象,持久化类通过唯一标识OID确定记录 3.所有属性提供public访问控制符的get,set方法 4.标识属性应尽量使用基本数据类型的包装类型.(使用long不…