#【openSession和getCurrentSession的区别】
<1> 生成的session实例。
openSession生成的Session的实例是SessionImpl的实例;
getCurrentSession生成的是代理对象$Proxy
<2> 新旧session实例。
openSession每次打开都是新新Session;
getCurrentSession:第一次调用返回新Session,然后放入到thread上下文,在事务完成【commit/rollback】之前,每次拿到上下文已存在的同一个session。
<3> 自动关闭。
openSession的session需要手动close;
getCurrentSession的session在事务完成之时内部自动close,不用在代码中自己close.
<4> 使用条件。
openSession拿来就用;
getCurrentSession需要在hibernate配置文件中配置current_session_context_class,否则使用失败。
<!-- 开启hibernate的Session上下文自动管理 -->
<property name="current_session_context_class">thread</property>
#【get和load的区别】
<1> 延迟加载。
get不支持延迟加载,直接发出sql查询;load延迟加载,用到对象数据的时候才发出sql查询数据库。
<2> 返回对象的实例类型。
get返回原类型的对象实例;load返回代理对象,$$javaassist..
<3> 找不到对象。
get查询无数据:直接返回null,调用时就会NullPointerException;load查询无数据:返回一个代理对象,就是上面的$$javassist.,调用时org.hibernate.ObjectNotFoundException
- 浏览: 645983 次
- 性别:
- 来自: 北京
最新评论
-
dotjar:
awk -F "/" '{print $3 ...
@Marked-linux命令使用 cut/sort/uniq -
DEMONU:
直接将要删除的key记下来,遍历完了,在删除
@Marked-Java 遍历Map时 删除元素 -
LeeXiao:
感谢分享
@Marked-Java 遍历Map时 删除元素 -
nicegege:
受益匪浅
mysql char varchar -
nicegege:
受益匪浅
@Maked-mysql使用规范
相关推荐
《Hibernate 4.3.0 Beta2 库详解》 Hibernate,作为一个强大的对象关系映射(ORM)框架,是Java开发中的重要工具,它极大地简化了数据库操作,使得开发者能够用面向对象的方式来处理数据。本篇文章将深入探讨 ...
2. Hibernate核心概念 - Session:它是与数据库交互的主要接口,负责持久化对象的创建、更新和删除。 - Transaction:Hibernate提供了基于JTA和JDBC的事务管理,确保数据的一致性。 - Criteria API:提供了一种更...
第二层是可选的,可以配置为使用第三方缓存服务,如Ehcache,称为二级缓存。缓存可以显著提升数据访问速度。 10. **事件和监听器**:Hibernate允许注册事件监听器,对特定的持久化操作(如加载、保存、更新、删除)...
《Hibernate ORM 5.3.2.Final:深入解析与应用》 Hibernate ORM,作为Java领域最著名的对象关系映射框架之一,自诞生以来就深受开发者喜爱。2018年7月5日,Hibernate发布了其最新版本——5.3.2.Final,带来了诸多...
6. **第二级缓存**: Hibernate支持二级缓存,可以提高数据读取速度,尤其是在多线程环境中。 **配置** - **hibernate.cfg.xml**: 这是Hibernate的主配置文件,包含了数据库连接信息、缓存设置、方言选择等核心参数...
本文将以hibernate-release-4.3.0.Beta2版本为研究对象,深入探讨Hibernate的核心概念、主要功能以及在实际开发中的应用。 一、Hibernate概述 Hibernate是JBoss组织下的一个开源项目,它提供了一种规则化的框架,将...
- **Hibernate 3:** 增加了属性级别的延迟加载功能。 - **实现原理:** 当数据被实际使用时才会加载到内存中,这有助于节省服务器内存资源并提高性能。 #### 3. Hibernate 中如何实现类之间的关系? - **一对多...
3. **创建映射实体类**:假设我们的函数与某个实体类相关联,我们需要在实体类上添加相应的注解,比如`@Entity`,并定义一个属性来对应Oracle函数的返回值。 4. **定义Hibernate Native SQL查询**:由于Hibernate...
### Hibernate文档概述与核心知识点 #### 一、简介 Hibernate 是一个开源的对象关系映射 (Object-Relational Mapping, ORM) 框架,用于 Java 应用程序中的数据库访问。它提供了一种机制,可以将 Java 对象映射到...
- 第二级缓存:全局共享,可以跨`Session`,通过`CacheProvider`实现,如Ehcache。 - 查询缓存:存储查询结果,减少重复计算。 6. **延迟加载(Lazy Loading)** - Hibernate默认采用延迟加载策略,仅在真正需要...
- **编写POJO类**:设计持久化对象,通常需要有一个无参数的构造函数、getter和setter方法以及一个主键属性。 - **编写映射文件**:使用`.hbm.xml`文件定义对象与数据库表之间的映射关系。 - **编写测试代码**:利用...
##### 1.2 第二部分 - 映射关联 - **映射Person类**: 示例演示如何映射简单的Java类到数据库表。 - **单向基于集合的关联**: 如何在两个类之间建立单向关联。 - **关联工作**: 展示如何通过关联操作来获取相关对象...
教程分为三个阶段:1day、2day和3day,涵盖了Hibernate的基础到进阶内容,适合初学者和有一定经验的开发者进行学习。 1. Hibernate基础: - 安装与配置:了解如何在项目中集成Hibernate,设置hibernate.cfg.xml...
7. **第二级缓存**:Hibernate支持二级缓存,通过缓存提供商如Ehcache,可以提高数据访问性能,减少对数据库的直接访问。 8. **事务管理**:Hibernate支持JTA(Java Transaction API)和JPA(Java Persistence API...
通过这个指南,读者可以全面了解Hibernate 2.0的核心概念和实践技巧,从而更好地利用这个框架来开发高效的Java应用程序。虽然现在已经有了更新的Hibernate版本,但理解老版本可以帮助我们更好地理解ORM框架的发展...
【hibernate_first_new项目源码】是一个关于Hibernate框架学习的项目,主要涵盖了对Hibernate常用接口的详细讲解和实例应用。Hibernate是一个强大的Java持久层框架,它为开发者提供了对象关系映射(ORM)功能,使得...
2. **Hibernate框架**:Hibernate作为Java领域最流行的ORM框架之一,它提供了一整套解决方案,包括持久化模型定义、数据访问对象(DAO)创建、查询语言(HQL)和Criteria API等,使得开发者能更方便地处理数据库操作...
### Spring_Structs_Hibernate 关键知识点详解 #### 1. Hibernate 工作原理及使用原因 **原理:** - **读取并解析配置文件:** 首先,Hibernate会读取配置文件(如`hibernate.cfg.xml`),从中获取数据库连接信息...
《Hibernate 3.6.0 Beta3:持久化框架的深度探索》 Hibernate,作为Java领域最著名的对象关系映射(ORM)框架之一,自诞生以来就极大地简化了数据库操作,使得开发人员能够以面向对象的方式处理数据。本文将深入...
##### 第二部分:关联映射 - **Person类映射**:以Person类为例,展示单向关联的基本映射方法。 - **基于集合的单向关联**:介绍如何在两个实体间建立单向的Set型关联。 - **处理关联**:讨论如何在业务逻辑中有效...