No row with the given identifier exists:错误另解
这是一个hibernate常见的问题。搜索出来最多的答案都是如下面这篇文章所述:
http://blog.csdn.net/eyejava/article/details/1896492
但我觉得我问题不在这里,因为在我添加一个新的实体类关系之前,所有的映射配置都没有问题的,但现在只要是这几个互相关联的实体类的操作均出现了问题。我的实体类关系如下:

从图中可以发现,所有的实体类都和Dept直接或者间接有关系,这些实体类的操作都出现了问题。浏览器报的错是没有Dept这个实体类。

由此回答启发,我去观察了数据库。果然发现问题是这样的:我的关系1多对一原本是不存在的,是我后来调整实体类关系的时候加上去的,数据库中有了deptId这一字段,但是这一字段值为null。删除了相关表中之前用于测试的数据之后果然一切都变得美好了。后来我去看日志文件,才发现日志文件中居然有这样的错误:
2016-04-21 21:42:19,043 [main] ERROR org.hibernate.tool.hbm2ddl.SchemaUpdate - Unsuccessful: alter table curriculum add index FKC5509C3B2405960D (deptId), add constraint FKC5509C3B2405960D foreign key (deptId) references twcs4sxau.dept (deptId)
2016-04-21 21:42:19,044 [main] ERROR org.hibernate.tool.hbm2ddl.SchemaUpdate - Cannot add or update a child row: a foreign key constraint fails (`twcs4sxau`.`#sql-a90_47`, CONSTRAINT `FKC5509C3B2405960D` FOREIGN KEY (`deptId`) REFERENCES `dept` (`deptId`))
如果我早点看到这段话,会早点察觉到是数据库的问题的。
从这次的错误中我总结出两点:
1、出错了先看console,再看日志文件,得出错误原因。
2、不要乱改实体类的关系。我是因为初次并且独立做这个项目,出了错只能自己后期发现,没有人商量或者提醒。毕设开始仓促,并没有好好设计就开始写代码了,这给我后期真是带来了无穷无尽的麻烦啊。
另外我还看见一个回答很具有启发性:
http://www.cnblogs.com/jianxh/articles/82350.html
直接指出了是破坏了外键关系,让确定表的关系是否正确。这与我在日志文件中发现的提示相吻合。
No row with the given identifier exists:错误另解的更多相关文章
- Hibernate错误——No row with the given identifier exists
错误 是用的是Hibernate自动建立的数据表,在进行数据库操作时,出现错误No row with the given identifier exists 解决 关系数据库一致性遭到了破坏,找到相关 ...
- Hibernate报错:org.hibernate.ObjectNotFoundException: No row with the given identifier exists 解决办法
报错信息: org.hibernate.event.internal.DefaultLoadEventListener onLoad INFO: HHH000327: Error performing ...
- Hibernate常见问题 No row with the given identifier exists问题的解决办法及解决
(1)在学习Hibernate的时候遇到了这个问题"No row with the given identifier exists"在网上一搜看到非常多人也遇到过这个问题! 问题的 ...
- org.hibernate.ObjectNotFoundException: No row with the given identifier exists
维护老系统时出现的问题,出现的原因我简述一下: table1与table2是关联表,T1中有T2的主键 "T1_id",当T1中的 "T2_id" 不为null ...
- org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [com.zhuoshi.entity.Dep#1]
报错信息: org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [com.zhuoshi.e ...
- No row with the given identifier exists[ArtProject.Domains.Users#2]
产生此问题的原因: 有两张表,table1和table2. 产生此问题的原因就是table1里做了关联<one-to-one>或者<many-to-on ...
- (转)收集:Hibernate中常见问题 No row with the given identifier exists问题的原因及解决
Hibernate中No row with the given identifier exists问题的原因及解决 产生此问题的原因: 有两张表,table1和table2.产生此问题的原因就是tab ...
- org.hibernate.ObjectNotFoundException: No row with the given identifier exists解决办法
hibernate-取消关联外键引用数据丢失抛异常的设置@NotFound hibernate项目里面配了很多many-to-one的关联,后台在查询数据时已经作了健全性判断,但还是经常抛出对象找不到 ...
- (转)No row with the given identifier exists问题的解决
产生此问题的原因: 有两张表,table1和table2.产生此问题的原因就是table1里做了关联<one-to-one>或者<many-to-one unique ...
随机推荐
- iOS真机测试,为Provisioning添加设备 -- based xcode6[原]
iOS真机测试, 我们需要添加几台新的设备进行测试.我们只需要对Provisioning Profiles 进行更新. 1. 在苹果开发者中心添加测试设备 打开苹果Certificates, Ide ...
- crontab 管理指定用户的定时任务
创建用户定时任务文件 touch /var/spool/cron/target_user crontab -u target_user /var/spool/cron/target_user 编辑用户 ...
- ElasticSearch 自定义排序处理
使用function_score进行分组处理,利用分组函数script_score进行自定义分值处理, 注意:使用script功能需要在配置中打开脚本功能: script.inline: on s ...
- ElasticSearch返回不同的type的序列化
总体思路是: 利用json序列化的别名方法,反序列化到不同的字段上: 因为别名方法不支持多个别名,所以不得不根据不同的type,定义了多套适配内容. 最终在属性上进行选择. 本示例ElasticSea ...
- jqxComboBox
var uptype_source = [{ "TYPE_DESC": "总额度", " }, { "TYPE_DESC": &q ...
- h5网站和好看的动画网址
http://www.sucai888.com/data/batchzip/unzips/2165/index.html http://www.1000zhu.com
- zabbix 自定义探索规则发现服务器上面的kvm虚拟机和对应的网卡
安装完zabbix服务器之后 只有两个探索规则模版,挂载点探索和网卡探索 场景描述:想使用zabbix监控kvm虚拟机的网卡的流量情况, 获取虚拟机和网卡对应关系 虚拟机 S-1 virsh domi ...
- TypeScript & JavaScript
http://www.typescriptlang.org/docs/tutorial.html handbook: Basic Types Variable Declarations Interfa ...
- ubuntu14.04下安装python3.4.2
1. python安装包的下载地址:https://www.python.org/downloads/ 我的python安装包下载地址:https://www.python.org/ftp/pytho ...
- leetcode 155
题目描述: Design a stack that supports push, pop, top, and retrieving the minimum element in constant ti ...