`

Hibernate session 方法说明

阅读更多

用Hibernate肯定会频繁的用到session,下面就将Hibernate session中一些经常的用方法逐个的解释一下。

Transaction beginTransaction()

开始一个工作单元并返回一个与之相关Transaction韵螅钗挛竦目迹ǔT谛枰允菘饨懈睦鐂ave,update或delete时使用。在事务结束后需要调用Transaction的commit方法提交更改,该方法必须在Hibernate session关闭之前使用。

void flush() void clear()

这两个方法通常在一起使用。由于Hibernate有缓存数据的功能,所以当我们要批量查询和批量插入时,会因为大量的缓存而导致内存溢出。所以我们可以在执行批量插入时插入一定数目的数据后调用flush()提交插入,然后调用clear()清空当前Hibernate session内的所有缓存。批量查询同理

Connection close()

关闭Hibernate session,同时清空所有的缓存。

Connection connection()

获取当前Hibernate session使用的JDBC connection。

boolean contains(Object object)

返回boolean值,判断一个实例是否与当前Hibernate session保持关联,即为持久化状态。

Query createQuery(String queryString)

返回一个给定HQL语句的Query对象。

SQLQuery createSQLQuery(String queryString)

返回一个用于执行原生SQL语句的SQLQuery对象

void delete(Object object)

删除与该对象关联的数据里内的一条记录。该对象可以是处于持久化状态也可以是处于瞬态但与数据库的记录有id联系。如果该对象的cascade属性为delete或all将会同时删除相关联的数据。

void delete(String entityName, Object object)

不太明白什么意思,占个位。

Connection disconnect()

断开与session与当前JDBC的连接,如果连接有Hibernate管理,则将连接送回连接池,否则将送回给程序本身。

Object get(Class clazz, Serializable id)

根据指定的实体类以及实体id返回一个实体的实例。如果找不到记录则返回null

Object get(String entityName, Serializable id)

同上,entity为实体的名字

String getEntityName(Object object)

返回一个持久化类的实体名

Serializable getIdentifier(Object object)

返回一个被session缓存的实体实例的id

Query getNamedQuery(String queryName)

返回一个在映射文件中定义的命名查询的query对象

SessionFactory getSessionFactory()

获取生成当前session的SessionFactory

Transaction getTransaction()

不说了,地球人都知道

Object load(Class theClass, Serializable id)

Object load(String entityName, Serializable id)

和get方法一个效果,不同的是该方法在找不到对应记录时会抛出异常

Serializable save(Object object)

将一个实体实例持久化,返回该持久化实例的id。在持久化之前必须手动或自动的指派id。

void update(Object object)

通过给定的分离状态的实例的id更新数据库记录。如果在持久化类中有相同的id则会抛出异常。如果这个实例cascade设置为save-update或all是将同时更新所有关联的实例记录。

void saveOrUpdate(Object object)

分享到:
评论

相关推荐

    hibernate说明及demo的例子

    在这个“hibernate说明及demo的例子”中,我们将深入探讨Hibernate的核心概念和功能,并通过一个实际的示例来展示如何使用它。 一、Hibernate概述 Hibernate是一个强大的工具,它消除了JDBC代码的繁琐,提供了数据...

    hibernate说明文档

    以上是对“hibernate说明文档”标题和描述中的关键知识点的详细介绍,旨在帮助读者深入了解Hibernate的工作原理及其应用场景。通过掌握这些核心概念和技术,开发者可以更加高效地使用Hibernate框架来处理复杂的...

    Spring Hibernate 事务处理 详细说明

    - Session API:Hibernate的Session对象是操作数据库的基本单元,它支持begin、commit和rollback等事务操作。 - Transaction API:Hibernate的Transaction接口提供了更高级别的事务管理,可以用来控制事务的生命...

    Hibernate 源代码及重要说明

    2. **Transaction管理**: Hibernate提供了一套事务处理机制,通过Session的beginTransaction、commit和rollback方法进行操作。 3. **缓存机制**: Hibernate支持一级缓存(Session级别的缓存)和二级缓存...

    HIbernate3.2中文说明及其源码

    《Hibernate3.2中文说明及其源码》 Hibernate是一个开源的对象关系映射(ORM)框架,它极大地简化了Java应用程序与数据库之间的交互。在Hibernate3.2版本中,该框架进一步提升了性能和稳定性,同时也引入了一些新的...

    Hibernate说明

    本篇将深入探讨Hibernate的核心概念、主要功能以及使用方法。 一、Hibernate概述 Hibernate是由 Gavin King 创建的,它实现了Java持久化模型,使得在Java应用中处理数据库变得更为简单。通过提供一种对象-关系映射...

    Hibernate 参数查询通用方法

    以下是对这两种方法的详细说明: 1. **HQL(Hibernate Query Language)**: HQL是Hibernate提供的面向对象的查询语言,语法类似于SQL,但操作的对象是持久化类而非表。在进行参数查询时,我们可以使用`...

    hibernate3中文官方文档

    在实际开发中,Hibernate 常与 Spring 框架一起使用,Spring 可以帮助管理 Hibernate 的 Session,实现依赖注入,并提供事务管理功能,使得代码更加简洁和易测试。 这份文档还涵盖了高级主题,如 Criteria API 的...

    Hibernate官方中文参考手册下载

    批量操作如批处理更新和删除可以提高性能,例如`Session.flush()`和`Session.clear()`方法用于控制批处理的界限。 **12. 高级特性** 包括懒加载(Lazy Loading)、集合的分页查询、子查询、连接查询、联合查询、一...

    struts2.3+spring3.1.2+hibernate4.1.6 配置说明

    在这个配置说明中,开发者使用的是Struts2.3、Spring3.1.2和Hibernate4.1.6的版本。 首先,我们需要了解这三大框架的基本作用: - **Struts2**:是一个基于MVC(Model-View-Controller)设计模式的Web应用框架,...

    hibernate全套资料文档API及配置说明文档

    **hibernate全套资料文档API及配置说明文档** 在Java世界中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它允许开发人员使用面向对象的编程方式来操作数据库,从而降低了数据库操作的复杂性。这个压缩包...

    Hibernate的详细说明和Spring的整合

    - **会话(Session)**: Session是Hibernate的主要工作接口,用于在应用程序和数据库之间提供一个临时的工作区间。 - **HQL(Hibernate Query Language)**: 是Hibernate提供的面向对象的查询语言,类似于SQL,但...

    Hibernate学习笔记整理

    Hibernate学习笔记整理 以下是 Hibernate 框架的详细知识点: Hibernate 介绍 Hibernate 是一个 ORM(Object-Relational...4. 说明:当执行完 21 行代码的时候,session 关闭了,该对象成为脱管状态的对象。 等等。

    Hibernate 中文api 等学习资料

    3. **Hibernate 中文API文档.chm**:这是Hibernate的中文API参考手册,对每个类、接口和方法的详细说明,对于查阅具体功能和方法的使用非常有帮助。 4. **Hibernate3.2.chm**:这个文件可能包含了Hibernate 3.2版本...

    Java Hibernate3 添加和删除数据

    5. **保存对象**:使用Session的save()或saveOrUpdate()方法,将对象持久化到数据库。这会导致Hibernate生成相应的INSERT SQL并执行。对象状态变为持久态(Persistent)。 6. **提交事务**:在所有操作完成后,需要...

    Hibernate主键类型说明和配置手册.doc

    以下是对Hibernate主键类型及其配置的详细说明: 1. **uuid.hex**: 这种生成器使用128位算法生成一个32位的字符串。由于其通用性,它适用于所有类型的数据库。在`.hbm.xml`映射文件中,你可以这样配置: ```xml ...

    Android应用源码Hibernate4Android.zip

    8. Android生命周期管理:确保在Activity或Fragment的生命周期方法中适当地管理Hibernate的Session。 通过分析和学习这个源代码,开发者可以了解到如何在Android应用中有效地整合Hibernate,从而提高数据库操作的...

    Hibernate 3.5.2 中文API

    4. **Transaction管理**:在Hibernate中,事务管理可以通过Session的beginTransaction()、commit()和rollback()方法实现。事务是数据库操作的基本单元,确保数据的一致性。 5. **Criteria查询**:除了传统的HQL...

    hibernate-release-5.2.10

    3. **会话工厂与会话**:SessionFactory是线程安全的,负责创建Session对象,而Session是与数据库交互的入口,执行CRUD操作。 4. **查询语言**:HQL(Hibernate Query Language)是面向对象的查询语言,类似于SQL,...

Global site tag (gtag.js) - Google Analytics