摘要:
最主要区别在于,检索策略不同。无论get和load,首先都会去session缓存中看有没有现成的数据。没有的话,get会采用立即检索策略。即:将对象从数据库检索出来并返回,不使用代理类。load的话,如果lazy="true",会采用延迟加载策略。即:返回一个仅包含有ID主键的代理类对象,当调用对象... 阅读全文
摘要:
以下情况java对象进入持久化状态:session.save()方法把临时对象转变为持久化对象。session.load()和session.get()方法得到的对象总是处于持久化状态。session.update(),saveOrUpdate()和lock()方法使游离对象转变为持久化状态。Que... 阅读全文
摘要:
当应用程序调用org.hibernate.Transaction的commit()的时候,commit()方法先清理缓存,然后再向数据库提交事务。当应用程序显示调用Session.flush()方法的时候。当应用程序执行查询的时候。条件是:a,缓存中的持久化对象的属性已经发生变化;b,Session... 阅读全文