hibernate的load()和get()的区别

来源:互联网 发布:网站源码上传教程 编辑:程序博客网 时间:2024/05/20 11:50
首先是延迟加载的load()方法,何为延迟加载呢?
    就是当我们执行session.load()方法的时候,是不执行数据库查询的语句的,当前的到是一个代理对象,
那又何为代理对象呢?
    这个对象只保留了实体对象的id值,具有查询数据库的能力,只有要得到它的属性时,才会执行sql语句,从数据库中查询所需要的对象。

然而当只有代理对象就关闭session的时候,再获取该对象的具体属性就会抛出异常。

而session.get()方法则直接的多,直接获取一个对象,不管使不使用这个对象,都会发出sql语句从数据库中查询出来。
0 0