`

[hibernate3-摘要]第2节:Hibernate核心应用之Session类的函数

 
阅读更多

#【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

0
3
分享到:
评论

相关推荐

    hibernate-release-4.3.0.Beta2 lib

    《Hibernate 4.3.0 Beta2 库详解》 Hibernate,作为一个强大的对象关系映射(ORM)框架,是Java开发中的重要工具,它极大地简化了数据库操作,使得开发者能够用面向对象的方式来处理数据。本篇文章将深入探讨 ...

    hibernate-release-5.0.7.Final.zip

    2. Hibernate核心概念 - Session:它是与数据库交互的主要接口,负责持久化对象的创建、更新和删除。 - Transaction:Hibernate提供了基于JTA和JDBC的事务管理,确保数据的一致性。 - Criteria API:提供了一种更...

    hibernate-core 核心jar包

    第二层是可选的,可以配置为使用第三方缓存服务,如Ehcache,称为二级缓存。缓存可以显著提升数据访问速度。 10. **事件和监听器**:Hibernate允许注册事件监听器,对特定的持久化操作(如加载、保存、更新、删除)...

    hibernate-release-5.3.2.Final

    《Hibernate ORM 5.3.2.Final:深入解析与应用》 Hibernate ORM,作为Java领域最著名的对象关系映射框架之一,自诞生以来就深受开发者喜爱。2018年7月5日,Hibernate发布了其最新版本——5.3.2.Final,带来了诸多...

    hibernate-distribution-3.5.0-Final-dist文档

    6. **第二级缓存**: Hibernate支持二级缓存,可以提高数据读取速度,尤其是在多线程环境中。 **配置** - **hibernate.cfg.xml**: 这是Hibernate的主配置文件,包含了数据库连接信息、缓存设置、方言选择等核心参数...

    hibernate-release-4.3.0.Beta2

    本文将以hibernate-release-4.3.0.Beta2版本为研究对象,深入探讨Hibernate的核心概念、主要功能以及在实际开发中的应用。 一、Hibernate概述 Hibernate是JBoss组织下的一个开源项目,它提供了一种规则化的框架,将...

    Spring,hibernate,struts的面试笔试题.doc

    - **Hibernate 3:** 增加了属性级别的延迟加载功能。 - **实现原理:** 当数据被实际使用时才会加载到内存中,这有助于节省服务器内存资源并提高性能。 #### 3. Hibernate 中如何实现类之间的关系? - **一对多...

    hibernate 调用oracle函数

    3. **创建映射实体类**:假设我们的函数与某个实体类相关联,我们需要在实体类上添加相应的注解,比如`@Entity`,并定义一个属性来对应Oracle函数的返回值。 4. **定义Hibernate Native SQL查询**:由于Hibernate...

    hibernate文档

    ### Hibernate文档概述与核心知识点 #### 一、简介 Hibernate 是一个开源的对象关系映射 (Object-Relational Mapping, ORM) 框架,用于 Java 应用程序中的数据库访问。它提供了一种机制,可以将 Java 对象映射到...

    Hibernate API

    - 第二级缓存:全局共享,可以跨`Session`,通过`CacheProvider`实现,如Ehcache。 - 查询缓存:存储查询结果,减少重复计算。 6. **延迟加载(Lazy Loading)** - Hibernate默认采用延迟加载策略,仅在真正需要...

    hibernate-note学习笔记

    - **编写POJO类**:设计持久化对象,通常需要有一个无参数的构造函数、getter和setter方法以及一个主键属性。 - **编写映射文件**:使用`.hbm.xml`文件定义对象与数据库表之间的映射关系。 - **编写测试代码**:利用...

    hibernate4.1中文api

    ##### 1.2 第二部分 - 映射关联 - **映射Person类**: 示例演示如何映射简单的Java类到数据库表。 - **单向基于集合的关联**: 如何在两个类之间建立单向关联。 - **关联工作**: 展示如何通过关联操作来获取相关对象...

    韩顺平hibernate3.3视频教程源码1-3day

    教程分为三个阶段:1day、2day和3day,涵盖了Hibernate的基础到进阶内容,适合初学者和有一定经验的开发者进行学习。 1. Hibernate基础: - 安装与配置:了解如何在项目中集成Hibernate,设置hibernate.cfg.xml...

    hibernate-release-5.2.11.Final.zip

    7. **第二级缓存**:Hibernate支持二级缓存,通过缓存提供商如Ehcache,可以提高数据访问性能,减少对数据库的直接访问。 8. **事务管理**:Hibernate支持JTA(Java Transaction API)和JPA(Java Persistence API...

    各大公司面试

    这些公司在面试过程中主要考察应聘者的数据库知识、多线程处理能力以及对Java核心技术的理解。 ##### 1. 数据库并发处理 **知识点:** - **并发控制:** 了解如何管理多个用户的请求,例如使用锁机制或事务隔离级别...

    hibernate-2.0.zip

    通过这个指南,读者可以全面了解Hibernate 2.0的核心概念和实践技巧,从而更好地利用这个框架来开发高效的Java应用程序。虽然现在已经有了更新的Hibernate版本,但理解老版本可以帮助我们更好地理解ORM框架的发展...

    hibernate_first_new项目源码

    【hibernate_first_new项目源码】是一个关于Hibernate框架学习的项目,主要涵盖了对Hibernate常用接口的详细讲解和实例应用。Hibernate是一个强大的Java持久层框架,它为开发者提供了对象关系映射(ORM)功能,使得...

    hibernate---实战

    2. **Hibernate框架**:Hibernate作为Java领域最流行的ORM框架之一,它提供了一整套解决方案,包括持久化模型定义、数据访问对象(DAO)创建、查询语言(HQL)和Criteria API等,使得开发者能更方便地处理数据库操作...

    Spring_Structs_Hibernate

    ### Spring_Structs_Hibernate 关键知识点详解 #### 1. Hibernate 工作原理及使用原因 **原理:** - **读取并解析配置文件:** 首先,Hibernate会读取配置文件(如`hibernate.cfg.xml`),从中获取数据库连接信息...

    hibernate-distribution-3.6.0.Beta3

    《Hibernate 3.6.0 Beta3:持久化框架的深度探索》 Hibernate,作为Java领域最著名的对象关系映射(ORM)框架之一,自诞生以来就极大地简化了数据库操作,使得开发人员能够以面向对象的方式处理数据。本文将深入...

Global site tag (gtag.js) - Google Analytics