首先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中的三种主要查询方式——HQL(Hibernate Query Language)、Criteria API和Query API,并着重讨论`load()`与`get()`方法的区别。 一、HQL查询 Hibernate Query Language(HQL)是...
`Session.get()`和`Session.load()`是Hibernate中用于根据主键ID加载实体对象的两种方法。这两种方法的主要区别在于异常处理和懒加载支持上: - **`Session.get()`**: 当指定的ID不存在时,`get()`方法返回`null`,...
Hibernate 的核心功能之一是提供了一套强大的查询接口和方法,包括基于对象的查询、SQL 查询和 HQL (Hibernate Query Language) 查询等。本文将详细介绍 Hibernate 提供的几种查询方式及其应用场景。 #### 二、重要...
- **读取(Read):**使用`Session`的`get()`或`load()`方法根据ID获取对象,或者使用`createQuery()`执行HQL查询。 - **更新(Update):**修改对象属性后,调用`Session`的`update()`方法更新数据库。 - **删除...
本文将深入探讨Hibernate中的一些重要方法及其调用,包括get()、load()、list()、iterator()以及HQL查询的相关知识点。 1. get()与load()方法: - get()方法:当尝试获取一个对象时,get()首先会在一级缓存中查找...
与`get`方法类似,但`load`方法会在找不到对应实体时抛出异常。 3. **全表查询** ```java Query query = session.createQuery("from Order"); List<Order> list = query.list(); ``` 此方法用于查询表中的...
5. **查询(createQuery()、createSQLQuery()、find()等)**:Hibernate提供丰富的查询方式,如HQL(Hibernate Query Language)、 Criteria API 和原生SQL查询。createQuery()用于执行HQL,createSQLQuery()执行...
在这个例子中,首次调用 `load` 或 `get` 方法时会向数据库发送 SQL 查询,但在后续的调用中,由于一级缓存的存在,Hibernate 会直接从缓存中获取数据,而不再发送 SQL 查询。 ##### 2. 使用 iterate 方法 ```java...
2. 通过标识符检索:使用 session.get() 方法或 session.load() 方法根据标识符检索对象。 3. 使用 HQL 检索对象:使用 Hibernate 查询语言 HQL 检索对象。 4. 使用 Hibernate 条件 API:提供了类型安全的面向对象的...
- **查询**:使用Session的`load()`或`get()`方法获取对象,`createCriteria()`或`createQuery()`构建复杂查询。 - **删除**:通过Session的`delete()`方法。 - **更新**:`update()`方法。 - **保存**:`save()`或`...
- **读取(Read)**:通过 `get()` 或 `load()` 获取单个实体,`createQuery()` 或 `createSQLQuery()` 执行 HQL(Hibernate 查询语言)或 SQL 查询获取多个实体。 - **更新(Update)**:修改实体后调用 `update...
//该方法将到classpath下解析hibernate.cfg.xml中的配置,如果不用Hibernate默认的配置文件名和路径,可在该方法中指定Hibernate配置文件的名称和路径 2.用Configuration对象获取SessionFactory和Session对象:...
- **`get(Class clazz, Serializable id)`** 和 **`get(String entityName, Serializable id)`**:这些方法与`load()`类似,但它们会在找不到实体时抛出异常,这使得它们在需要强制实体存在的场景下更有用。...
- `Session`的`get()`和`load()`方法根据主键获取对象。 - 使用`Session`的`createQuery()`或`createCriteria()`方法执行HQL(Hibernate查询语言)或SQL查询。 - `Criteria`查询提供了更面向对象的查询方式,可以...
对于初学者来说,理解这些概念和方法是掌握Hibernate的关键。在实际开发中,还可以利用Hibernate的更多高级特性,如缓存、关联映射等,进一步提升开发效率和应用性能。记住,实践是最好的老师,多动手实践,结合源码...
删除操作通常分为两步:首先,通过Session的get()或load()方法获取对象;然后,调用Session的delete()方法删除该对象。例如: ```java User user = (User) session.get(User.class, userId); session.delete(user); ...
查询数据则常用`get()`、`load()`或`createQuery()`、`createSQLQuery()`等方法。比如,通过主键查询用户: ```java User user = (User) session.get(User.class, userId); ``` 事务管理是数据库操作中的关键部分...
- **Read**:通过`Session.get()`或`Session.load()`获取指定ID的对象,或者使用`Session.createQuery()`或`Session.createCriteria()`进行查询操作。 - **Update**:对已存在的对象进行修改后,调用`Session....
- **加载和检索**:`Session.get()`或`Session.load()`用于根据ID加载对象,`Session.createQuery()`或`Session.createCriteria()`用于执行HQL或Criteria查询。 ### 事务处理 在Hibernate中,`Transaction`接口用于...
- **读取(Read)**:`get()` 或 `load()` 方法根据主键获取对象,`createQuery()` 或 `createCriteria()` 可以进行复杂查询。 - **更新(Update)**:当对象的属性发生变化时,调用 `Session` 的 `update()` 或 `...