`
BUICK
  • 浏览: 22255 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

Hibernate:get()和load()的区别

阅读更多
调试如下:

1、load()
    log.debug("------------------");;
    ProductDictate dictate = (ProductDictate);session.load(ProductDictate.class, new Long(100););;
    log.debug("+++++++++++"+dictate);;

运行错误如下:
[debug] :--------------------
net.sf.hibernate.ObjectNotFoundException: No row with the given identifier exists: 44, of class: com.norteksoft.thiebaut.worksheet.model.ProductDictate

	at net.sf.hibernate.ObjectNotFoundException.throwIfNull(ObjectNotFoundException.java:24);

	at net.sf.hibernate.impl.SessionImpl.load(SessionImpl.java:1921);



2、get()
    log.debug("------------------");;
    ProductDictate dictate = (ProductDictate);session.get(ProductDictate.class, new Long(100););;
    log.debug("+++++++++++"+dictate);;


运行结果如下:
[debug] :------------------
[debug] :+++++++++++null


用get()方法没有找到对象的时候返回null,而没有报强制类型转换错误是因为如下写法是允许的:
Object a = (Object); null;
分享到:
评论

相关推荐

    hibernate get load区别

    ### Hibernate中的Get与Load方法详解 #### 概述 在Hibernate框架中,`get`与`load`方法都是用于从数据库加载实体对象的常用手段。然而,这两种方法在实现细节上有着本质的区别,这些差异主要体现在对缓存的利用、...

    hibernate中get和load方法的区别

    在Java的持久化框架Hibernate中,`get`和`load`方法都是用于从数据库中获取对象,但它们之间存在一些重要的区别。理解这些差异对于优化应用程序的性能和避免潜在问题至关重要。 首先,`get`方法是直接从数据库中...

    Hibernate的get和load方法的区别

    在Java的持久化框架Hibernate中,`get`和`load`方法都是用于从数据库中获取对象,但它们之间存在一些重要的区别。理解这些差异对于优化应用程序的性能和避免潜在问题至关重要。 首先,让我们来深入了解一下`get`...

    hibernate中get和load的区别共5页.pdf

    标签“hibernate中get和lo”暗示了标签可能被意外截断,但我们可以推断完整标签可能是“hibernate中get和load的区别”。 在实际开发中,选择使用`get`还是`load`取决于具体需求。如果需要立即从数据库中获取对象,...

    精通Hibernate:java对象持久化技术

    - **CRUD操作**:创建(save/insert)、读取(get/load)、更新(update)和删除(delete)对象。 - **查询语言**:HQL(Hibernate Query Language)和Criteria API,支持复杂的查询操作。 7. **Hibernate优势**...

    Hibernate中get和load方法的区别以及close(),clear()、evict()等的区别

    首先,让我们关注`get`和`load`的区别: 1. **返回结果对比**: - `load`方法如果找不到对应的记录,会抛出`org.hibernate.ObjectNotFoundException`异常。这是因为`load`方法假设给定的ID肯定在数据库中存在,它...

    hibernate 三种 查询 方式 load与get的区别

    本篇文章将详细解析Hibernate中的三种主要查询方式——HQL(Hibernate Query Language)、Criteria API和Query API,并着重讨论`load()`与`get()`方法的区别。 一、HQL查询 Hibernate Query Language(HQL)是...

    Hibernate查询 load与get的区别及其它查询测试

    `load`和`get`方法是Hibernate中用于检索实体的两种主要方式,它们都是从Session接口中调用,但有明显的区别和各自的适用场景。 1. `load`方法: - `load`方法主要用于根据主键加载对象,它返回一个代理对象,而...

    hibernate:java持久化对象详解02

    例如,使用`save()`或`saveOrUpdate()`方法可以将对象持久化到数据库,`get()`和`load()`用于根据ID获取对象,`update()`和`merge()`用于更新对象,`delete()`则用于删除对象。 事务管理是数据库操作中的关键部分。...

    session的get与load比较

    在Hibernate中,`Session`接口提供了`get`和`load`两种方法来获取数据库中的实体对象。 1. **get** 方法:尝试从当前Session的缓存中获取指定ID对应的实体对象;如果缓存中不存在,则直接执行SQL查询语句从数据库中...

    精通 Hibernate:Java 对象持久化技术详解(第2版

    4. CRUD操作:掌握使用Hibernate进行创建(Create)、读取(Read)、更新(Update)和删除(Delete)数据的基本方法,如Session的save()、saveOrUpdate()、load()、get()、update()、merge()、delete()等。...

    hibernate:java持久化对象详解01

    - 加载:使用Session的`load()`或`get()`方法,根据主键加载对象。 - 插入:调用`save()`或`saveOrUpdate()`方法,将新对象持久化到数据库。 - 更新:对象的状态发生变化后,调用`update()`或`saveOrUpdate()`...

    Hibernate中get()和load()的区别.docx

    在Hibernate ORM框架中,获取持久化对象的两种主要方法是`get()`和`load()`。它们都是用来根据主键ID查询数据库中的实体对象,但两者在执行机制和返回结果上有显著的区别。 1. `get()`方法 当调用`session.get()`...

    Hibernate:用户注册、查询用户信息、用户删除、用户修改功能.zip

    5. CRUD操作:使用Session对象进行创建(save()或saveOrUpdate())、查询(load()、get()或createQuery())、删除(delete())和更新(update())操作。 6. 事务管理:由于数据库操作涉及数据的一致性,因此需要使用...

    精通hibernate:对象持久化技术孙卫琴第二版part2

    8.4.2 Session的load()和get()方法 194 8.4.3 Session的update()方法 195 8.4.4 Session的saveOrUpdate()方法 197 8.4.5 Session的merge()方法 198 8.4.6 Session的delete()方法 200 8.4.7 Session的replicate...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part2

     8.4.2 Session的load()和get()方法  8.4.3 Session的update()方法  8.4.4 Session的saveOrUpdate()方法  8.4.5 Session的merge()方法  8.4.6 Session的delete()方法  8.4.7 Session的replicate()方法  8.5 ...

    精通Hibernate:对象持久化技术第二版part3

    8.4.2 Session的load()和get()方法 194 8.4.3 Session的update()方法 195 8.4.4 Session的saveOrUpdate()方法 197 8.4.5 Session的merge()方法 198 8.4.6 Session的delete()方法 200 8.4.7 Session的replicate...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part4

     8.4.2 Session的load()和get()方法  8.4.3 Session的update()方法  8.4.4 Session的saveOrUpdate()方法  8.4.5 Session的merge()方法  8.4.6 Session的delete()方法  8.4.7 Session的replicate()方法  8.5 ...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part3

     8.4.2 Session的load()和get()方法  8.4.3 Session的update()方法  8.4.4 Session的saveOrUpdate()方法  8.4.5 Session的merge()方法  8.4.6 Session的delete()方法  8.4.7 Session的replicate()方法  8.5 ...

Global site tag (gtag.js) - Google Analytics