Java Hibernate中,延迟加载get与load的差别是什么?

2026-05-24 04:203阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1835个文字,预计阅读时间需要8分钟。

Java Hibernate中,延迟加载get与load的差别是什么?

目录+前言+一.load加载方式+二.get加载方式+三.使用get和load时的一些小问题+前言+在Hibernate中,我们知道如果要从一个数据库中获取一个对象,通常有两种方式,一种是通过session.get()方法,另一种是...

目录
  • 前言
  • 一.load加载方式
  • 二、get加载方式
  • 三、使用get和load时的一些小问题

前言

在hibernate中我们知道如果要从数据库中得到一个对象,通常有两种方式,一种是通过session.get()方法,另一种就是通过session.load()方法,然后其实这两种方法在获得一个实体对象时是有区别的,在查询性能上两者是不同的。

一.load加载方式

当使用load方法来得到一个对象时,此时hibernate会使用延迟加载的机制来加载这个对象,即:当我们使用session.load()方法来加载一个对象时,此时并不会发出sql语句,当前得到的这个对象其实是一个代理对象,这个代理对象只保存了实体对象的id值,只有当我们要使用这个对象,得到其它属性时,这个时候才会发出sql语句,从数据库中去查询我们的对象。

阅读全文

本文共计1835个文字,预计阅读时间需要8分钟。

Java Hibernate中,延迟加载get与load的差别是什么?

目录+前言+一.load加载方式+二.get加载方式+三.使用get和load时的一些小问题+前言+在Hibernate中,我们知道如果要从一个数据库中获取一个对象,通常有两种方式,一种是通过session.get()方法,另一种是...

目录
  • 前言
  • 一.load加载方式
  • 二、get加载方式
  • 三、使用get和load时的一些小问题

前言

在hibernate中我们知道如果要从数据库中得到一个对象,通常有两种方式,一种是通过session.get()方法,另一种就是通过session.load()方法,然后其实这两种方法在获得一个实体对象时是有区别的,在查询性能上两者是不同的。

一.load加载方式

当使用load方法来得到一个对象时,此时hibernate会使用延迟加载的机制来加载这个对象,即:当我们使用session.load()方法来加载一个对象时,此时并不会发出sql语句,当前得到的这个对象其实是一个代理对象,这个代理对象只保存了实体对象的id值,只有当我们要使用这个对象,得到其它属性时,这个时候才会发出sql语句,从数据库中去查询我们的对象。

阅读全文