Hibernate---inverse,cascade(4)
来源:互联网 发布:mit公开课 矩阵理论 编辑:程序博客网 时间:2024/06/16 11:05
删除分支机构:
测试代码如下:
session = HibernateSessionFactory.currentSession();
tx = session.beginTransaction();
BranchInfo branchInfo = (BranchInfo) session.load(BranchInfo.class, Long.valueOf(1));
session.delete(branchInfo);
System.out.println("success_____________");
tx.commit();
设置inverse=true cascade=save-update发出sql语句如下:
Hibernate: delete from tbranchinfo where id=?
但是报出异常:
org.hibernate.exception.ConstraintViolationException: could not delete:
Caused by: java.sql.SQLException: Cannot delete or update a parent row: a foreign key constraint fails
不能删除,违反了约束型异常,其实是hibernate捕获了数据库异常,然后自己封装而成。
设置inverse=true cascade=delete发出sql语句如下:
Hibernate: update tsealmodel set sealId=null where sealId=?
Hibernate: delete from tseal where id=?
Hibernate: delete from tbranchinfo where id=?
可以发现inverse对删除不起作用,主要看cascade如果为delete那么将级联删除set集合
删除印章:
设置cascade=save-update测试代码如下:
session = HibernateSessionFactory.currentSession();
tx = session.beginTransaction();
Seal seal = (Seal) session.load(Seal.class, Long.valueOf(1));
session.delete(seal);
System.out.println("success_____________");
tx.commit();
发出sql语句如下:
Hibernate: delete from tsealmodel where id=?
Hibernate: delete from tseal where id=?
说明:
删除与inverse无关,如果cascade=delete那么将级联删除。
- Hibernate---inverse,cascade(4)
- Hibernate---inverse,cascade(1)
- Hibernate---inverse,cascade(2)
- Hibernate---inverse,cascade(3)
- (hibernate)inverse,cascade详细分析(举例说明)
- (转)hibernate中的Cascade与Inverse
- (hibernate)inverse,cascade详细分析(举例说明)
- 浅谈hibernate(cascade,lazy,inverse,fetch)
- hibernate 级联(cascade和inverse)
- hibernate 级联(cascade和inverse)
- 【Hibernate】inverse和cascade
- Hibernate级联--cascade,inverse
- hibernate inverse cascade详解
- Hibernate---inverse,cascade总结
- hibernate inverse cascade
- hibernate inverse cascade
- Hibernate-----cascade VS inverse
- hibernate 中的Inverse Cascade
- PL/SQL Developer 登陆分组管理 以及 保存用户名密码
- 微软的心情
- 写的一个小的矩阵乘法
- 口语语汇单词篇(1)
- C++处理异常技巧-try,catch,throw,finally
- Hibernate---inverse,cascade(4)
- 继承IDbConnection连接不同数据库
- php 函数里面可以有两个以上的返回值
- 多线程实现(No.6)
- 全局变量、extern/static/const区别与联系
- Android获取手机屏幕像素大小
- 用户状态轻松迁移——Windows7中的轻松传送
- 数据库查询
- assert宏