Hibernate,get()和load()区别
最主要区别在于,检索策略不同。
无论get和load,首先都会去session缓存中看有没有现成的数据。没有的话,get会采用立即检索策略。即:将对象从数据库检索出来并返回,不使用代理类。load的话,如果lazy="true",会采用延迟加载策略。即:返回一个仅包含有ID主键的代理类对象,当调用对象的get方法时才会去数据库检索。
最主要区别在于,检索策略不同。
无论get和load,首先都会去session缓存中看有没有现成的数据。没有的话,get会采用立即检索策略。即:将对象从数据库检索出来并返回,不使用代理类。load的话,如果lazy="true",会采用延迟加载策略。即:返回一个仅包含有ID主键的代理类对象,当调用对象的get方法时才会去数据库检索。