力所能及之hibernate备忘录

本文总结了Hibernate框架中的几个关键概念和操作技巧,包括OID修改的风险、Session接口中的update和saveOrUpdate方法的区别,以及延迟加载时可能出现的问题及解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Hibernate备忘知识点:

    1、永远不要手动修改OID,因为会造成缓存中的数据不准确

    2、Session接口中的update方法是将一个游离态对象转换成持久化对象的解决方案

    3、Session接口中的saveOrUpdate方法,如果传进去的是瞬时对象,就执行save,如果传入的是游离对象,就执行update方法

    4、如果正在使用延迟加载,并且servlet中的session.close()已经执行,那么在jsp中获取子表数据就会报错,这个在延迟加载,懒加载已经说过,解决方案是在session.close()之后加上Hibernate.initialize(user);  进行代理类的实例化。


Hibernate中代理类的概念即只有一个OID的类,所以使用延迟加载时,lIst中的子表数据全是代理类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值