Mybatis与hibernate-自己的理解
Hibernate做了写优化,比如一二三级缓存,把数据存放在缓存里面,这里是通过OID去区分是否为同一个对象,存放在内存。
今天同事问了我下:Hibernate中get/load区别以及为什么不能final修饰?
因为load得到的是代理类型对象,final是不能被继承的
get直接得到了一个持久化类型对象,它就是立即查询操作
load它得到的是持久化类开的代理类型对象(子类对象)。它采用了一种延迟策略来查询数据。
4.get方法在查询时,如果不存在返回null
load方法在查询时,如果 不存在,会产生异常
自己的话来说hibernate的一二级缓存的理解,一级缓存就是session,比如get,load,query之类的操作就会把数据存在session里面,后面调用close就会关闭,而二级缓存就是sessionfactory