Oracle 错误 ”ORA-02292“
来源:互联网 发布:section软件使用方法 编辑:程序博客网 时间:2024/06/06 03:45
Oracle提示的错误已经很明显了,您在没有删除子表记录的情况下,删除主表记录,触发了完整性约束错误。
方法如下:
(方法1)将数据完整性约束交给Oracle处理
您测试一下,在sqlplus中,直接删除有子表记录的主表记录,如果能删除,可以不用在Hibernate中设置数据完整性。
(方法2)将数据完整性约束交给Hibernate,在Hibernate设置好主子表关系,以及级联删除,这样就去除掉Oracle数据库中表的完整性约束,也就是不用设置子表的外键。Hibernate在您删除主表记录时,会替您删除子表里相应的记录。
总之:要么在Hibernate中设置主子表关系和级联删除,而在Oracle中什么也别设。要么在Oracle中设置好外键以及级联删除,而不要在Hibernate中再设置级联删除。数据完整性约束只需一方负责即可。记住,别两面都设置,否则,不是Oracle出错,就是Hibernate出错。
如果数据库服务器强,就在数据库中设置级联删除,如果不能级联删除,需要D修改一项数据库设置才行。如果Web/Application Server强,就在Hibernate中设置。
方法如下:
(方法1)将数据完整性约束交给Oracle处理
您测试一下,在sqlplus中,直接删除有子表记录的主表记录,如果能删除,可以不用在Hibernate中设置数据完整性。
(方法2)将数据完整性约束交给Hibernate,在Hibernate设置好主子表关系,以及级联删除,这样就去除掉Oracle数据库中表的完整性约束,也就是不用设置子表的外键。Hibernate在您删除主表记录时,会替您删除子表里相应的记录。
总之:要么在Hibernate中设置主子表关系和级联删除,而在Oracle中什么也别设。要么在Oracle中设置好外键以及级联删除,而不要在Hibernate中再设置级联删除。数据完整性约束只需一方负责即可。记住,别两面都设置,否则,不是Oracle出错,就是Hibernate出错。
如果数据库服务器强,就在数据库中设置级联删除,如果不能级联删除,需要D修改一项数据库设置才行。如果Web/Application Server强,就在Hibernate中设置。
0 0
- Oracle 错误 ”ORA-02292“
- Oracle错误:ORA-01033
- oracle ora - 日期错误
- oracle ORA-03113 错误
- Oracle ORA-22922 错误
- Oracle: ORA-错误
- oracle ORA 1555错误
- [Oracle] ORA-01502 错误
- oracle ora-1555错误
- Oracle ORA-22922错误
- Oracle ORA错误
- oracle 错误 ORA-01747
- oracle ORA-00838:错误
- 【Oracle】ORA-27102:错误
- Oracle ora-12518错误
- 【ORACLE】ORA-39014错误
- Oracle ORA-错误表
- oracle-错误:ORA-01090
- CentOS环境下利用RPM安装jdk1.7
- PHP的二进制位移操作
- 角谷猜想
- 常用宏IOS
- 行人检测资源
- Oracle 错误 ”ORA-02292“
- 事务的隔离级别
- 【编译】GUN的autotools们的简要介绍
- [译] 理解 Objective-C Runtime
- HDU 4341 Gold miner 分组背包变形
- xcode cocos2dx 2.2 使用c++11
- SQL Server 2008中SQL Merge命令详解
- char str[]与char *str的区别
- 命令行的方式创建avd