1 什么是持久化类
名称 | 概念 |
持久化 | 将内存中的一个对象持久化到数据库中的一个过程称为持久化。hibernate就是用于进行持久化的一个框架。 |
持久化类 | 一个Java对象和数据库表建立了映射关系。这个类在hibernate中就是持久化类。 持久化类 = Java类 + 映射文件 |
2 持久化类的编写规则
规则 | 原因 |
对持久化泪提供的一个无参数的构造方法 | hibernate的底层需要反射来生成实例 |
属性需要私有,对私有属性提供public的set和get方法 | hibernate中获取,设置对象中的值 |
对持久化类表示一个唯一的OID对应数据库中的主键 | Java中对象的地址区分是否是一个对象,数据库中通过主键确定是否是同一个对象,在hibernate中通过OID类区分是否是同一个对象 |
持久化类的属性尽量使用包装类类型 | 基本数据类型默认值为0 ,0会有很多歧义。包装类的类型默认值是null |
持久化类不能使用final进行修饰 | 延迟加载本身是hibernate一个优化的手段。最后返回的是一个代理对象(Javassist可以对没有实现接口的类产生代理,使用了非常底层的字节码增强技术继承这个类进行代理)。如果不能被继承则不能产生代理对象,延迟加载也就失效,get和load方法就不会产生区别了 |