一、什么是持久化类:

持久化是将程序数据在持久状态和瞬时状态间转换的机制。
持久化类(persistent class):是指它的实例可以被hibernate持久化地保存到数据库中,并且能从数据库读取的类。

                                              可以被hibernate保存到数据库,并且从数据库读取的类。

Persistent Object  (PO)

PO=POJO+hbm映射配置

持久化类 = 实体类 + 映射文件。

二、什么是POJO

POJO(Plain Old Java Objects)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称。


三、持久化类的编写规范

  1. 提供一个无参数 public访问控制符的构造器:因为会用到反射。
  2. 提供一个标识属性,映射数据表主键字段 。
  • java区分两个对象是否是同一个对象,使用地址判断。
  • 数据库区分两条记录是否一致,使用主键判断。
  • Hibernate区分持久化对象是否是同一个对象,根据唯一标识判断。
  1. 为所有属性提供public访问控制符的set/get方法,框架中存值和取值的时候使用。
  2. 标识属性应尽量使用基本数据类型的包装类型
  • 使用基本类型的包装类型一个好处是,可以区分数据是没有传值默认生成的,还是本身就是这个默认值,比如一个表示数量的整数类型,如果使用int,没有传值时,数据库中会出现0,如果使用Integer,没有传值时,数据库中是null。

持久化类尽量不要使用final进行修饰。

  • 用final修饰的类不能被继承,因此无法生成代理对象,由于延迟加载返回的是代理对象,因此延迟加载就会失效。

四、持久化对象

持久化类的对象、实例

持久化类:在应用程序中,用来实现业务问题实体的类(如,在电子商务应用程序中的Customer和Order)就是持久化类。不能认为所有的持久化类的实例都是持久的状态——一个实例的状态也可能是瞬时的或托管的。就如同它的名字暗示的,它的实例会被持久性保存于数据库中。