首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

请问Hibernate 查询

2012-03-22 
请教Hibernate 查询表A 和表B是一对多的关系表A是一个过度表 有主键ID表B是一个结果表,也有主键,且其中一

请教Hibernate 查询
表A 和表B是一对多的关系 
表A是一个过度表 有主键ID
表B是一个结果表,也有主键,且其中一个属性是A的主键
把表A的数据删掉之后 用find查询表B 报错 :No row with the given identifier exists:  

请问是什么问题啊?

[解决办法]
级联关系吧,可能是将表A删了的同时将表B也删了。你可以找找一对多关系的关系情况
[解决办法]
持久层 配置了级联关系 如 多对一~~
[解决办法]
将hibernate的配置文件中表的对应关系 manytoOne 或oneToMany去掉
[解决办法]

探讨

将hibernate的配置文件中表的对应关系 manytoOne 或oneToMany去掉

[解决办法]
在映射文件里面你配置了 one to maney,产生了级联,那个数据没了,肯定报错啊。。。
[解决办法]
在你做onetomany映射的时候使用了级联,当你删除A表中的数据的时候会级联删除B表中对应的数据,看看你的映射文件或者annotation。
[解决办法]
hbm.xml中你的配置少写了一选项,
onetomany映射的时候你使用了级联,再删除表的时候要注意顺序
[解决办法]
好像有两种可能:
1,你的B表对应的A的id外键没有,这样你A表的数据删掉了,B表对应的A表的id还有,所以调用find报错。
2,hibernate你没配置级联删除,就是删除A的同时,要同时删除A所管理的B。

热点排行