1.save()——规范例子:
public void addUser(User user){
Session session = null;
Transaction tx = null;
try{
session = HibernateUtil.getSession();
tx.session.beginTransaction();
session.save(user);
tx.commit();
}catch(HibernateException e){
if(tx != null){
tx.rollback();
}
throw e;
}finally{
if(session != null){
session.close();
}
}
}
2.get()——get方法可以不要打开事务,会立刻访问数据库
public User getUser(int id){
Session session = null;
//Transaction tx = null;
try{
session = HibernateUtil.getSession();
//tx.session.beginTransaction();
session.get(User.class,id);
//tx.commit();
return user;
}finally{
if(session != null){
session.close();
}
}
}
显示sql语句配置:
<properties name="show_sql" value="true">
3.load()——和get类似。当使用的才加载,永远都不会为空,返回的是代理不会立即访问数据库
即:if(user != null)是不对的它永远都不为空。
4.merge()和更新一样
5.persist()和save()一样,区别在于有没有开启事务。persist在事务外不会产生insert语句
6.saveOrUpdate()
7.delete() 删除对象
8.update() 更新对象,如果数据库中没有记录会出现异常
9.lock() 把对象变成持久对象但不会同步对象的状态
分享到:
相关推荐
Hibernate操作数据库时,主要通过以下几个核心组件来实现持久层操作: 1. **Session**:Session是Hibernate用来和数据库进行交互的一个轻量级对象,它相当于JDBC中的Connection。Session对象是应用程序与数据库进行...
总之,掌握Hibernate的Session接口及其主要方法,对于Java开发人员来说至关重要,这有助于我们更高效地操作数据库,实现ORM的无缝对接。通过深入学习和实践,可以大幅提升开发效率,减少出错的可能性。在本教程中,...
3. **打开Session**:`Session`是操作数据库的主要接口,它是短暂的,每次数据库操作结束后都需要关闭。`SessionFactory.openSession()`方法用于获取一个新的`Session`实例。在实际应用中,通常会将其封装在工具类中...
### Hibernate的核心接口——Session详解 #### 一、Session简述 **1. Session概念** - **定义**: Session 是 Hibernate 框架中最常用的接口之一,它又被称为持久化管理器。Session 负责所有与数据库交互的工作,...
1. Session: Hibernate的核心接口,负责与数据库的交互,提供了事务管理、缓存管理以及持久化对象的创建、查询、更新和删除等操作。 2. Configuration:负责初始化Hibernate环境,加载配置文件,建立SessionFactory...
1. DAO接口:定义了对数据库的操作方法,如获取所有数据、保存数据、更新数据、删除数据等。 2. DAO实现类:实现了DAO接口,具体执行数据库操作。这里会使用Hibernate的Session、Transaction等接口来执行SQL语句。 3...
- `iotdb-session-0.10.1.jar`:IoTDB的Session接口库,包含了原生Session操作所需的类和接口。 5. **数据模型**:IoTDB使用设备(Device)和传感器(Measurement)的概念来组织时序数据,每个Device可以有多个...
2. **会话(Session)对象**:在JSP中,`HttpSession`接口用于创建和管理会话。当用户添加商品到购物车时,可以将商品信息(如ID、数量、价格等)存储在会话对象中。例如: ```jsp HttpSession session = ...
2. **Session接口/类**:在自定义框架中,`Session`接口或类是与数据库进行交互的主要接口。它提供了增删改查的基本方法,如`save()`, `update()`, `delete()`, `query()`等。通过这些方法,开发者可以直接操作对象...
Hibernate 的核心接口是 `Session`,它类似于 JDBC 的 Connection。`Session` 负责执行 CRUD 操作,即创建、读取、更新和删除数据。它还负责管理对象的状态,如持久化状态、瞬时状态和游离状态,并提供事务控制。 #...
Session 接口是 Hibernate 的核心接口之一,它负责对持久化对象的存取操作。Session 对象是轻量级的,可以被多个线程共享。Session 对象提供了许多方法来操作持久化对象,例如 save、update、delete 等。 4. ...
会话类模拟了ORM框架(如Hibernate)中的Session概念,提供了一种更高级别的数据库操作接口。它封装了基本的JDBC操作,比如执行SQL查询、插入、更新和删除操作。JdbcSession可能包含以下特性: - 提供易于使用的API...
Hibernate提供了Session接口,通过它可以进行查询、保存、更新和删除等数据库操作。此外,Hibernate还支持HQL(Hibernate Query Language),这是一种面向对象的查询语言,类似于SQL,但更适应面向对象的环境。 在...
Hibernate通过XML配置文件或注解将Java实体类映射到数据库表,然后提供了Session接口来处理数据持久化。例如,我们可以使用`Session.save()`方法来保存对象,`Session.get()`来读取,`Session.update()`来更新,以及...
- **作用**: `Session` 是 Hibernate 中的核心接口之一,它负责执行所有与数据库交互的操作,如保存、更新、查询和删除等。 - **生命周期**: 每个 `Session` 实例都有自己的生命周期,通常在一个事务或业务逻辑单元...
这个类需要重写`doFilter()`方法,它是过滤器的核心,会在每次请求经过时被调用。在这个方法内,我们可以编写代码来检查用户是否已登录并验证其身份。 1. **身份验证**:首先,我们需要从请求中获取用户的认证信息...
4. **读写操作**:`read($id)`方法用于从数据库中读取session数据,根据给定的session ID获取对应的session数据。`write($id, $data)`方法负责将session数据保存到数据库,其中$id是session ID,$data是序列化的...
2. **Session接口**:类似于JDBC中的Connection,它是操作数据库的基本单元,提供事务管理和缓存管理。 3. **Entity类**:Java类代表数据库表,通过注解(@Entity)声明为Hibernate实体。 4. **持久化操作**:使用...
`Session`接口代表与数据库的对话,是执行所有持久化操作的基础。通过`SessionFactory`的`openSession()`方法获得,提供了一系列方法用于执行CRUD(创建、读取、更新、删除)操作。 #### Transaction类 `...
我们可以创建一个继承自AuthorizingRealm的类,实现doGetAuthenticationInfo和doGetAuthorizationInfo方法,从数据库查询并返回必要的认证和授权信息。 2. **权限的动态更新**:在权限系统中,权限的动态更新意味着...