(hibernate之三)session的delete方法
public void test() { Session session=sessionFactory.getCurrentSession(); //删除方法1 Teacher teacher=new Teacher(); teacher.setId(6); //数据库中存在id为6的记录,但name字段是"teacher"这里却删除成功 teacher.setName("不影响"); session=sessionFactory.getCurrentSession(); session.beginTransaction(); session.delete(teacher); session.getTransaction().commit(); //删除方法2 session=sessionFactory.getCurrentSession(); session.beginTransaction(); teacher=(Teacher)session.load(Teacher.class, 7); session.delete(teacher); session.getTransaction().commit(); }
总结:
session的delete方法删除的时候是通过主键进行删除的,所以在方法1中即使设置了不对应的其它字段也是可以正常删除数据的,如果数据库没有存在对应的主键值,会出现下面的异常 ---Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
最后记住:
1) session的delete方法是通过主键进行删除的,主键不存在则异常
2) 持久状态对象被delete后变成瞬时状态对象
转载于:https://www.cnblogs.com/mu-mu/archive/2012/01/18/2325561.html
(hibernate之三)session的delete方法相关推荐
- Hibernate Session的delete()方法
本文介绍Hibernate Session的delete()方法.delete()方法用于从数据库中删除与Java对象对应的记录.对应游离对象和持久化对象,delete语句会做出不同的反应. dele ...
- Hibernate 的 session.load()使用方法
2019独角兽企业重金招聘Python工程师标准>>> protected Person getOne(int id){ Session session = HibernateSes ...
- hibernate中session接口方法总结
Session的save()和persist()方法 Session的save()方法使一个临时对象转变为持久化对象.它完成以下操作: (1)将临时对象加入到Session缓存中,使其进入持久化状态. ...
- 【hibernate框架】核心开发接口-saveOrUpdate方法与delete方法
1.saveOrUpdate方法剖析 saveOrUpdate方法:分情况看是save还是update. 示例: public void testSaveOrUpdate(){Teacher t=ne ...
- Hibernate的懒加载session丢失解决方法
在web.xml加入spring提供的过滤器,延长session的生命周期 <!--Hibernate的懒加载session丢失解决方法 --><filter><filt ...
- Hibernate学习笔记Session.evict(user)方法
@[TOC]Hibernate学习笔记Session.evict(user)方法 Hibernate学习笔记Session.evict(user)方法 首先我们要明白Session.flush(use ...
- 一口一口吃掉Hibernate(二)——别被世俗蒙蔽了双眼:Hibernate中Session之get和load方法的真正区别
最近在学习SHH框架中的Hibernate,对Session的get和load方法,有点混不清楚,不知道区别在哪,或者对它们的区别感触不深.所以百度了一下,结果问题来了.百度的结果和实际测试的结果出入 ...
- 【Hibernate】dao层 +getHibernateTemplate()方法解析
2019独角兽企业重金招聘Python工程师标准>>> spring 中获得由spring所配置的hibernate的操作对象,然后利用此对象进行,保存,修改和删除等操作,此方法是在 ...
- Hibernate的Session介绍[转 adoocoke]
Session Session是Hibernate向应用程序提供操作数据的主要接口, 他提供了保存.更新.删除.加载Java对象的方法. Session的缓存 Session有一个缓存,用来缓存Jav ...
最新文章
- java 表现层:jsp、freemarker、velocity
- npm 安装包失败 --- 清除npm缓存
- Shell : 基本语法
- 16个在线机器学习视频与教程
- Maven入门指南(一)
- 什么是SVC模式【转】
- java显示目录文件列表和删除目录
- c++随机打乱数组_第四天 Java 数组与排序
- 计算机高级技师考试题,高级技师考试题及答案.doc
- Python核心编程学习日记之模块
- 信息时代不被淘汰,获取成功需有的十种能力
- TFS2010物理迁移workspace恢复
- emos mysql_企业邮件部署详细步骤(EMOS)
- java求100以内奇数和
- Winrm+python远程连接windows执行命令
- 复指数与高斯函数乘积的傅里叶变换_量子力学杂谈——格林函数
- LM317稳压芯片在工程中的应用
- 某些Win10无法进入安全模式的修复
- BootStrap常用的元素与样式
- Pantoea(泛菌属)——肠道内善恶兼备的神秘细菌
热门文章
- 什么才是好代码、高质量代码?
- 浅析 Servlet 执行原理
- 最佳实践 | 中文文案排版指北
- CSS之使用display:inline-block布局
- java.lang.AbstractMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/
- linux ssh连接交换机_linux SSH 隧道
- oracle11gr2 active data guard,Oracle11gR2 Aactive DataGuard(手动)装配部署及维护文档(三)之升级及rman...
- 盘点全球最美的15座数据中心
- Py之matplotlibseaborn :高级图可视化之​​​​​​​Q-Q分位数图probplot、​​​​​​​boxplot箱线图、stripplot分类散点图案例应用及代码实现
- Computer:屏幕录像专家软件的简介、安装、使用方法之详细攻略