一、什么是持久化类:
持久化是将程序数据在持久状态和瞬时状态间转换的机制。
持久化类(persistent class):是指它的实例可以被hibernate持久化地保存到数据库中,并且能从数据库读取的类。
可以被hibernate保存到数据库,并且从数据库读取的类。
Persistent Object (PO)
PO=POJO+hbm映射配置
持久化类 = 实体类 + 映射文件。
二、什么是POJO
POJO(Plain Old Java Objects)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称。
三、持久化类的编写规范
- 提供一个无参数 public访问控制符的构造器:因为会用到反射。
- 提供一个标识属性,映射数据表主键字段 。
- java区分两个对象是否是同一个对象,使用地址判断。
- 数据库区分两条记录是否一致,使用主键判断。
- Hibernate区分持久化对象是否是同一个对象,根据唯一标识判断。
- 为所有属性提供public访问控制符的set/get方法,框架中存值和取值的时候使用。
- 标识属性应尽量使用基本数据类型的包装类型
- 使用基本类型的包装类型一个好处是,可以区分数据是没有传值默认生成的,还是本身就是这个默认值,比如一个表示数量的整数类型,如果使用int,没有传值时,数据库中会出现0,如果使用Integer,没有传值时,数据库中是null。
持久化类尽量不要使用final进行修饰。
- 用final修饰的类不能被继承,因此无法生成代理对象,由于延迟加载返回的是代理对象,因此延迟加载就会失效。
四、持久化对象
持久化类的对象、实例
持久化类:在应用程序中,用来实现业务问题实体的类(如,在电子商务应用程序中的Customer和Order)就是持久化类。不能认为所有的持久化类的实例都是持久的状态——一个实例的状态也可能是瞬时的或托管的。就如同它的名字暗示的,它的实例会被持久性保存于数据库中。