`
Aga
  • 浏览: 218519 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

hibernat中Session::load()和Session::get()区别一例

 
阅读更多
		session.beginTransaction();
		User usr = (User)session.get(User.class, new Long(1));//如果调用load()就会引发异常。
		session.getTransaction().commit();
		session.close();
		System.out.println(usr.getLogin());

如上面注释所示:load()采用的是lazy加载方式,也即是说并没有真正的去读取数据,二十当你需要的时候去获得。而如上代码所示:在第5行需要的时候session已经关闭,所以会引发异常,而利用load方式则会真正的加载数据,所以不会产生异常。
分享到:
评论

相关推荐

    hibernate增删改查和动态sql

    - **读取(Read):** 可以通过`Session.get()`、`Session.load()`或HQL查询来获取数据。 - **更新(Update):** 使用`Session.update()`或`Session.merge()`更新已存在的实体。 - **删除(Delete):** `...

    Hibernate的三个准备和七个步骤

    - 使用`Session`实例提供的各种方法(如`save()`, `update()`, `delete()`, `load()`, `get()`等)来进行具体的数据库操作。这里以保存一个用户为例。 - 示例代码: ```java User user = new User("aa", "123");...

    hibernate简单使用例

    Hibernate支持多种对象关联,如一对一(OneToOne)、一对多(OneToMany)、多对一(ManyToOne)和多对多(ManyToMany)。通过`@OneToOne`、`@OneToMany`、`@ManyToOne`和`@ManyToMany`注解,可以定义对象间的关联...

    hibernate入门小例子

    在本例中,我们将使用Hibernate与MySQL数据库进行连接,MySQL是广泛使用的开源关系型数据库管理系统,而sql-front通常指的是一个图形化的SQL编辑器,用于编写和管理SQL语句。 在JavaWeb项目中集成Hibernate,我们...

    hibernate实例

    6. CRUD操作:基本的数据库操作包括增加(Create)、读取(Read)、更新(Update)、删除(Delete),在Hibernate中这些操作被封装在Session的方法中,比如save()用于增加操作,get()或load()用于读取操作,update()...

    MyEclipse+Hibernate项目开发快速入门

    例如,使用`Session.save()`方法可以将对象持久化到数据库,`Session.load()`或`Session.get()`用于获取对象。 2. Transaction接口:用于管理事务,通常在Session开始前开启,结束后提交。例如,`session.begin...

    hibernate3.1.2参考文档

    - 读取(Read):通过Session的get()或load()方法获取对象,或者使用Query和Criteria API进行复杂查询。 - 更新(Update):调用Session的update()方法更新对象。 - 删除(Delete):使用Session的delete()方法...

    Hibernate基本实现

    - **读取(Read)**:通过Session的`get()`或`load()`方法获取特定ID的对象。 ```java User user = (User) session.get(User.class, 1L); ``` - **更新(Update)**:修改对象属性后,调用`update()`方法更新...

    hibernate-release-5.4.18.Final.zip

    3. 数据库操作:通过SessionFactory获取Session,然后调用Session的save()、update()、delete()、get()、load()等方法进行CRUD操作。 4. 查询语句:利用Query或Criteria API编写HQL(Hibernate Query Language)或...

    hibernate5.3框架环境配置成功代码

    使用`Session`的`save()`, `update()`, `delete()`方法进行增删改,`get()`或`load()`方法进行查询。 7. **Transaction管理**: 数据库操作通常涉及事务,Hibernate提供了`Transaction`接口来处理事务。在开始操作前...

    hibernate一对一的例子

    - 查询实体:可以通过`Session`的`get()`或`load()`方法获取单个实体,或者通过HQL(Hibernate Query Language)进行查询。 5. **级联操作**: - 在`@OneToOne`注解中,`cascade`属性用于定义级联操作,如`...

    手动搭建Hibernate框架工程

    通过`SessionFactory`获取`Session`,然后使用`Session`的`save()`, `update()`, `delete()`, `get()`, `load()`等方法进行数据库操作。记得每次操作后都要关闭`Session`,以释放资源。 以上就是手动搭建Hibernate...

    Hibernate面试题 挺全的

    如果在`getUserByNameAndPassword()`方法中使用了`get()`或`load()`,而数据未提交,那么在注册后立即尝试登录时,由于数据只存在于Session缓存中,所以查询会失败。重启服务器后,由于Session关闭,缓存中的数据被...

    hibernate_simple

    - **读取(Read)**:通过`Session.get()`或`Session.load()`根据主键获取对象,`Session.createQuery()`或`Session.createCriteria()`进行复杂查询。 - **更新(Update)**:修改对象属性后,调用`Session.update...

    Hibernate

    查询用户则可以使用Session的get()或load()方法,更新和删除同样有对应的update()和delete()方法。 总的来说,Hibernate提供了一个强大的工具集,用于管理Java应用程序与数据库的交互。它通过对象关系映射技术,...

    Spring + Hibernate + Struts

    在描述中提到的`Session`接口的`get`和`load`方法都是从数据库加载实体的。`get`方法直接查询数据库,如果对象不存在则返回null;而`load`方法返回一个代理对象,只有在访问其属性时才执行SQL查询,这有助于延迟加载...

    hibernate小例子

    在本例中,我们可能有一个名为`User`的实体类,对应数据库中的`users`表,通过`hibernate.cfg.xml`配置文件来指定数据库连接信息。 **配置文件:** `hibernate.cfg.xml`是Hibernate的配置文件,用于设置数据库连接...

    hibernate增删改查

    **hibernate增删查改**是Java开发中数据库操作的核心技术之一,它基于对象关系映射(ORM)理念,简化了Java应用与数据库之间的交互。Hibernate作为一个强大的ORM框架,可以将Java对象直接映射到数据库表,从而避免了...

    hibernate建表例子

    6. **持久化操作**:使用Session的`save()`, `update()`, `delete()` 和 `load()` 或 `get()` 方法进行对象的持久化操作。此外,还可以使用`Query`或`Criteria` API进行复杂的查询。 **建表步骤** 1. **配置数据库...

    Hibernate 对集合属性的操作.zip_hibernate

    在代码中,我们可以通过Session的get或load方法获取User对象,然后通过User对象的orders属性访问其Order集合。 通过深入理解和熟练应用这些知识点,开发者可以高效地在Hibernate中管理集合属性,实现复杂的数据操作...

Global site tag (gtag.js) - Google Analytics