delete update在hibernate中的使用

之前在hibernate中使用了save方法,使用getCurrentSession不需要自己管理事务,很方便.

sessionFactory.getCurrentSession().save(applicationInfo);

同事update和delete也有两种类似方法:

Session session = sessionFactory.getCurrentSession();
session.update(applicationInfo);
session.flush();
Session session = sessionFactory.openSession();
session.beginTransaction();
session.update(applicationInfo);
session.getTransaction().commit();

使用getCurrentSession和openSession的具体实现存在差异.

时间: 2024-11-10 14:57:13

delete update在hibernate中的使用的相关文章

Hibernate 中update hql语句

今天在MySQL中用hibernate测试update语句发现以下问题: update语句竟然不去作用: 表机构如下: create table student(sid int primary key , sname varchar(45) not null, ssex char(2) not null,sdept varchar(10) not null,sage int ,saddress varchar(45) ); update语句如下: String[] params = new St

hibernate中update与saveOrUpdate的区别

[转]hibernate中update与saveOrUpdate的区别 分类: Hibernate总结 2009-11-17 00:04 2121人阅读 评论(0) 收藏 举报 hibernatesession数据库javadaoapplication 先来点概念: 在Hibernate中,最核心的概念就是对PO的状态管理.一个PO有三种状态: 1.未被持久化的VO 此时就是一个内存对象VO,由JVM管理生命周期 2.已被持久化的PO,并且在Session生命周期内 此时映射数据库数据,由数据库

Hibernate中的映射关系(一对多)

在数据库中表和表之间的关系有几种,下面就详细说一下在Hibernate中怎样映射一对多的关系 Hibernate映射一对多的关系,其实就是持久类之间的映射,那如何把持久类关联起来呢??那就用到.hbm.xml文件的<many-to-one>标签了 具体做法如下: 新建一个customer类: package com.jeremy.hibernate.app.example; public class Customer { private Integer customerId; private

Hibernate 中对表的操作

Hibernate CRUD testing Hibernate 中对表的操作, add,load,update,delete,list,pager(分页) package org.test.test; import java.text.SimpleDateFormat; import java.util.List; import org.hibernate.Session; import org.junit.Test; import org.zttc.itat.model.User; impo

关于hibernate中对象的三种状态分析

一,首先hibernate中对象的状态有三种:瞬态.游离态和持久态,三种状态转化的方法都是通过session来调用,瞬态到持久态的方法有save().saveOrUpdate().get().load():持久态到瞬态的方法有delete():游离态到持久态的方法有update().saveOrUpdate().lock():持久态到游离态的方法有:session.close().session.evict().session.clear(). 二,Hibernate的状态 hibernate的

hibernate中持久化对象的生命周期(三态:自由态,持久态,游离态 之间的转换)

三态的基本概念: 1,  暂时状态(Transient):也叫自由态,仅仅存在于内存中,而在数据库中没有对应数据.用new创建的对象,它没有持久化,没有处于Session中,处于此状态的对象叫暂时对象: 2,  持久化状态(Persistent):与session关联而且在数据库中有对应数据.已经持久化,添?到了Session缓存中.如通过hibernate语句保存的对象.处于此状态的对象叫持久对象: 3,  游离状态(Detached):持久化对象脱离了Session的对象.如Session缓

具体解释Hibernate中cascade与inverse

学习hibernate的时候对级联关系的概念老是分不清楚,尤其是cascade.inverse傻傻分不清.以下通过样例来简单说明. 准备工作: 首先创建数据库,新建两张表: 教室表classes (字段此处省) 学生表student(字段此处省) 教室与学生是一对多的关系. 然后新建项目,加入hibernate对两张表的支持. 1.cascade cascade表示级联操作.即两个实体间存在级联关系(一个类是还有一个类中的属性)时,当保存.更新或删除一个实体时,是否对关联的实体做出相应操作(数据

详解Hibernate中cascade与inverse

学习hibernate的时候对级联关系的概念老是分不清楚,尤其是cascade.inverse傻傻分不清.下面通过例子来简单说明. 准备工作: 首先创建数据库,新建两张表: 教室表classes (字段此处省) 学生表student(字段此处省) 教室与学生是一对多的关系. 然后新建项目,添加hibernate对两张表的支持. 1.cascade cascade表示级联操作,即两个实体间存在级联关系(一个类是另一个类中的属性)时,当保存.更新或删除一个实体时,是否对关联的实体做出相应操作(数据库

详解Hibernate中的一级缓存

1.前言 在Hibernate中有三级缓存,本篇博客先详细的介绍一下,Hibernate中的一级缓存,也就是Session级别的缓存. 2.持久化对象 如果要说到Hibernate的缓存的话,那么首先咱得提一下hibernate中的持久化对象. 其中持久化对象有三种状态,分别是: transient(瞬时态):尚未与Session关联对象,失去引用的话,就会被JVM回收.一般就是直接New创建的对象. persistent(持久态):已经与当前session产生关联,并且相关联的session没