【hibernate学习】Hibernate持久化类

1、持久化类的概念:

什么是持久化,将内存中的Java对象永久的存储到数据库中的这个过程称为持久化。

2、什么是持久化类:一个Java对象与我们的数据库中的表建立了映射联系,这个类我们就称之为持久化类。

3、持久化类的编写规则:

(1)对持久化类提供一个无参数构造(hiberante底层需要使用反射生成实例)

(2)对私有属性提供getter和setter方法(hibernate中设置或者获取对象属性的值)

(3)对持久化类提供一个唯一标识OID与数据库主键对应(Java中通过对象的内存地址来区分是否是同一个对象,数据库中通过主键来确定是否是同一条记录,而Hibernate通过对象属性OID来确定是否是同一个对象)

(4)持久化类的属性要尽量使用包装类型(基本数据类型默认值有歧义,对象类型默认值是null。0代表有值为0,而null代表没有值)

(5)持久化类不要使用final进行修饰(延迟加载本身是Hibernate的一个优化的手段,返回的是一个代理对象,javassit可以对没有实现接口的类产生代理,实际上使用了非常底层的字节码增强技术,来继承这个类来产生代理对象)

final修饰延迟加载失效。get与load将没有区别。

持久化类的三种状态:

瞬时态:这种对象没为唯一的OID,没有被Session所管理,称之为瞬时态。

持久态:这种对象有唯一的OID,被Session所管理,称之为持久态。

持久化类的持久化对象可以自动更新数据库,底层原理依赖一级缓存。注意:(Hibernate缓存区中的数据会在hibernate的快照区保存一个副本,当缓存中的数据被修改,在session提交的时候,会和快照区做一个对比,如果相同不做修改,如果不同就修改)

脱管态:这种对象有唯一的OID,没有被Session所管理,称之为脱管态。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值