Hibernate session的方法全集
Hibernate session的方法的一些说明
用Hibernate肯定会频繁的用到session,下面就将Hibernate session中一些经常的用方法逐个的解释一下。
Transaction beginTransaction()
开始一个工作单元并返回一个与之相关Transaction对象,最为事务的开始,通常在需要对数据库进行更改例如save,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 Session 绑定线程解决方案 在 Java web 开发中, Hibernate 是一个非常流行的 ORM(Object-Relational Mapping)框架,用于将 Java 对象映射到关系数据库中。然而,在使用 Hibernate 进行数据库操作时,...
然而,在某些特定场景下,我们可能并不需要频繁地打开和关闭Session,这时“Hibernate-nosession”就显得尤为重要。本文将深入探讨Hibernate-nosession的概念、应用场景以及如何在实际代码中实现。 首先,理解什么...
在Java的持久化框架Hibernate中,`Session`和`Transaction`是两个至关重要的概念,它们在数据管理和事务处理中起到核心作用。这篇文章将深入解析这两个概念及其相关知识点。 `Session`是Hibernate提供的一种与...
本示例将深入探讨Hibernate Session的生命周期及其使用,帮助你更好地理解和运用这个强大的工具。 Hibernate Session是Hibernate的核心接口,它是与数据库交互的主要接口。Session对象负责管理实体对象的状态,包括...
本文将深入探讨Hibernate Session的详细方法及其应用场景,旨在为开发者提供一份全面、实用的指南。 #### 一、Session 的生命周期与事务管理 Hibernate Session的生命周期通常包括打开、使用和关闭三个阶段。在...
在Java的持久化框架Hibernate中,Session对象是与数据库交互的核心组件,它负责管理对象的持久状态。在处理大量数据或者长时间运行的事务时,合理地管理Session的生命周期至关重要,这就涉及到了Hibernate的Session...
本文将深入探讨Hibernate中的核心概念——Session管理。 首先,理解Session在Hibernate中的角色至关重要。Session是Hibernate的主要工作单元,它是应用程序与数据库之间的桥梁。它负责保存、检索和更新Java对象,...
`Session`的常用方法包括:`save()`, `update()`, `delete()`, `get()`, `load()`, `query()`等。 1. `save()` 和 `update()`: `save()`用于将新对象持久化到数据库,如果对象已经存在,可以使用`update()`来更新其...
本篇文章将探讨如何对Hibernate的`Session`进行简单的包装,以提升代码的可维护性和灵活性。`Session`是Hibernate的核心组件,它负责对象的持久化操作,如保存、更新、查询等。 `Session`接口提供了多种方法来与...
重写Session主要是继承Hibernate的DefaultSessionImpl或者BaseSessionImpl,并覆盖其中的方法,比如在save()、update()、delete()之前或之后添加自定义代码。此外,也可以扩展query()方法来实现更复杂的查询逻辑。 ...
Hibernate的Session接口是Java应用程序与Hibernate之间主要的运行时交互接口,它提供了对持久化对象的创建、读取和删除操作。Session的概念是基于对象的状态管理和数据库事务的,它的生命周期通常与一个物理事务绑定...
本篇文章将深入探讨如何实现自己的Hibernate框架,特别是Session方法的实现,这对于理解ORM的工作原理及优化数据库访问逻辑具有重要意义。 首先,我们需要了解Hibernate的核心概念——Session。在Hibernate中,...
在Hibernate框架中,Session是与数据库交互的主要接口,它负责对象的持久化操作。然而,由于Session不是线程安全的,所以在多线程环境中管理Session就需要特别注意。本篇文章将详细探讨Hibernate中Session的管理,...
总的来说,`Session`在Hibernate中扮演着至关重要的角色,`delete()`方法是它实现对象持久化操作的一部分,正确理解和使用这些方法对于高效地操作数据库至关重要。理解`Session`的工作原理,以及与`SessionFactory`...
本文将深入研究Hibernate中的`Session`和`Transaction`,这两个概念是理解Hibernate工作原理的关键。 首先,让我们了解`Session`。在Hibernate中,`Session`充当了应用程序与数据库之间的桥梁,它是持久化操作的...
在Java的持久层框架Hibernate中,SessionFactory是核心组件之一,它是线程安全的,负责创建Session对象,每个Session对应于数据库的一次会话。配置SessionFactory主要是通过Hibernate的配置文件(通常为hibernate....
hibernate中session对象的状态详解
本篇文章主要关注如何通过Hibernate的Session接口来操纵对象,实现数据的持久化。 首先,我们需要理解Session在Hibernate中的角色。Session是Hibernate的核心接口之一,它负责对象的持久化操作,比如保存、更新、...
`HibernateSessionFactory` 类是Hibernate应用中常见的一个工具类,用于管理和提供与当前线程相关的Session实例。让我们详细了解一下`HibernateSessionFactory`类中的关键方法和其背后的原理。 1. **配置和初始化...
通过这些步骤,我们可以看到Hibernate如何简化了数据库操作,将底层SQL语句抽象为面向对象的方法调用,使得开发者可以更加专注于业务逻辑,而不是数据存取的细节。这也是JavaEE技术栈中Hibernate深受开发者喜爱的...