`
退役的龙弟弟
  • 浏览: 456876 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

hibernate的createQuery、load和get方法的区别

 
阅读更多

首先get和load方法都根据id可以查询数据库记录

load和get查询的区别:

 

 

 

 1.如果找不到符合条件的纪录,get()方法将返回null.而load()将会报出ObjectNotFoundEcception.

 2.load()方法可以返回实体的代理类实例,而get()永远只返回实体类.

3.load()方法可以充分利用二级缓存和内部缓存的现有数据,而get()方法只在内部缓存中进行查找,如没有发现对应数据将跳过二级缓存,直接调用SQL完成查找.


1、使用createQuery查询,得到list列表。

 

Query query=session.createQuery("from News");
					java.util.List<News> news=(java.util.List<News>) query.list();
					for(News newx:news){
						
						System.out.println("title:"+newx.getTitle()+"--content:"+newx.getContent());
					}


2.load方法

 

load方法通过持久化类在数据库中查询id为1的记录。得到一个对象。

 

Employee em=(Employee) session.load(Employee.class, 1);
System.out.print(em.getName());


3.get方法

 

与load的用法相通

Users user = (Users)session.get(Users. class , userId);  


 

分享到:
评论

相关推荐

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

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

    Hibernate几种获数据方法比较

    `Session.get()`和`Session.load()`是Hibernate中用于根据主键ID加载实体对象的两种方法。这两种方法的主要区别在于异常处理和懒加载支持上: - **`Session.get()`**: 当指定的ID不存在时,`get()`方法返回`null`,...

    Hibernate查询解决方案

    Hibernate 的核心功能之一是提供了一套强大的查询接口和方法,包括基于对象的查询、SQL 查询和 HQL (Hibernate Query Language) 查询等。本文将详细介绍 Hibernate 提供的几种查询方式及其应用场景。 #### 二、重要...

    HIBERNATE FOR NETBEANS 数据操作方法

    - **读取(Read):**使用`Session`的`get()`或`load()`方法根据ID获取对象,或者使用`createQuery()`执行HQL查询。 - **更新(Update):**修改对象属性后,调用`Session`的`update()`方法更新数据库。 - **删除...

    hibernate中的几个重要方法以及调用[参照].pdf

    本文将深入探讨Hibernate中的一些重要方法及其调用,包括get()、load()、list()、iterator()以及HQL查询的相关知识点。 1. get()与load()方法: - get()方法:当尝试获取一个对象时,get()首先会在一级缓存中查找...

    Hibernate的Template方法以及SQL简介

    与`get`方法类似,但`load`方法会在找不到对应实体时抛出异常。 3. **全表查询** ```java Query query = session.createQuery("from Order"); List&lt;Order&gt; list = query.list(); ``` 此方法用于查询表中的...

    实现自己的Hibernate框架之Session 方法实现

    5. **查询(createQuery()、createSQLQuery()、find()等)**:Hibernate提供丰富的查询方式,如HQL(Hibernate Query Language)、 Criteria API 和原生SQL查询。createQuery()用于执行HQL,createSQLQuery()执行...

    Hibernate性能优化策略.

    在这个例子中,首次调用 `load` 或 `get` 方法时会向数据库发送 SQL 查询,但在后续的调用中,由于一级缓存的存在,Hibernate 会直接从缓存中获取数据,而不再发送 SQL 查询。 ##### 2. 使用 iterate 方法 ```java...

    Hibernate查询语言HQL.PPT

    2. 通过标识符检索:使用 session.get() 方法或 session.load() 方法根据标识符检索对象。 3. 使用 HQL 检索对象:使用 Hibernate 查询语言 HQL 检索对象。 4. 使用 Hibernate 条件 API:提供了类型安全的面向对象的...

    hibernate课程笔记.doc

    - **查询**:使用Session的`load()`或`get()`方法获取对象,`createCriteria()`或`createQuery()`构建复杂查询。 - **删除**:通过Session的`delete()`方法。 - **更新**:`update()`方法。 - **保存**:`save()`或`...

    HibernateDemo(hibernate基本用法演示)

    - **读取(Read)**:通过 `get()` 或 `load()` 获取单个实体,`createQuery()` 或 `createSQLQuery()` 执行 HQL(Hibernate 查询语言)或 SQL 查询获取多个实体。 - **更新(Update)**:修改实体后调用 `update...

    hibernate操作数据库笔记

    //该方法将到classpath下解析hibernate.cfg.xml中的配置,如果不用Hibernate默认的配置文件名和路径,可在该方法中指定Hibernate配置文件的名称和路径 2.用Configuration对象获取SessionFactory和Session对象:...

    hibernate session详细方法,值得珍藏

    - **`get(Class clazz, Serializable id)`** 和 **`get(String entityName, Serializable id)`**:这些方法与`load()`类似,但它们会在找不到实体时抛出异常,这使得它们在需要强制实体存在的场景下更有用。...

    hibernate数据库相关操作步骤

    - `Session`的`get()`和`load()`方法根据主键获取对象。 - 使用`Session`的`createQuery()`或`createCriteria()`方法执行HQL(Hibernate查询语言)或SQL查询。 - `Criteria`查询提供了更面向对象的查询方式,可以...

    hibernate实现增删改查

    对于初学者来说,理解这些概念和方法是掌握Hibernate的关键。在实际开发中,还可以利用Hibernate的更多高级特性,如缓存、关联映射等,进一步提升开发效率和应用性能。记住,实践是最好的老师,多动手实践,结合源码...

    hibernate增删改查

    删除操作通常分为两步:首先,通过Session的get()或load()方法获取对象;然后,调用Session的delete()方法删除该对象。例如: ```java User user = (User) session.get(User.class, userId); session.delete(user); ...

    hibernate code.rar

    查询数据则常用`get()`、`load()`或`createQuery()`、`createSQLQuery()`等方法。比如,通过主键查询用户: ```java User user = (User) session.get(User.class, userId); ``` 事务管理是数据库操作中的关键部分...

    Hibernate实例代码,含常用方法

    - **Read**:通过`Session.get()`或`Session.load()`获取指定ID的对象,或者使用`Session.createQuery()`或`Session.createCriteria()`进行查询操作。 - **Update**:对已存在的对象进行修改后,调用`Session....

    Hibernate3.1

    - **加载和检索**:`Session.get()`或`Session.load()`用于根据ID加载对象,`Session.createQuery()`或`Session.createCriteria()`用于执行HQL或Criteria查询。 ### 事务处理 在Hibernate中,`Transaction`接口用于...

    hibernate基础教程.pdf

    - **读取(Read)**:`get()` 或 `load()` 方法根据主键获取对象,`createQuery()` 或 `createCriteria()` 可以进行复杂查询。 - **更新(Update)**:当对象的属性发生变化时,调用 `Session` 的 `update()` 或 `...

Global site tag (gtag.js) - Google Analytics