好记性不如烂笔头,关于hibernate异常

来源:互联网 发布:mac ant root 编辑:程序博客网 时间:2024/06/06 00:44

昨天碰到的hibernate的一直提示No row with the given identifier exists: [hc.entity.User#452730199305290532]异常

我建立了两张表,User表,Person表 其中Person表中的ident参照User中非主键的userid,在执行查询操作的时候就会出现这个异常,最后解决方法,是将userid设置为主键。原因是:当两张表存在多对一的关系时,多的一端要参照的是一的一端的主键,hibernate在进行Person查询时会执行两次查找操作,先查找Person主键,再查找User主键,如果User中的主键不是Person参照的字段,那么就会出现上面的这个异常错误