首页 > 其他 > 详细

数据表中记录明明有,session.get(类.class, id);返回null

时间:2019-08-23 18:03:39      阅读:139      评论:0      收藏:0      [点我收藏+]

 

 

 

出现null的处理思路首先检查数据库中是否真的有这个记录

技术分享图片

确实存在的,用接口查一下最大值,也是存在的,数据库连接正常

技术分享图片

写sql也可以查得到

技术分享图片

 

然而诡异的事情出现了

技术分享图片

难道是一直在用的dao代码出了问题?

   public Article getById(Session session, int id) {
        return (Article) session.get(Article.class, id);
    }

 

换一个id试试,,,要死啊,代码没问题啊

技术分享图片

 实在没办法了,当我把查询hql写为

技术分享图片

的时候,终于看到有用的错误信息了

org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [com.hs.model.SectionModel#0]

 

啊原来是sectionId外键引用了不存在的section表记录

技术分享图片

打开表,一看,那可不

技术分享图片

id最小就是1了

把记录修改一下

技术分享图片

问题解决

技术分享图片

 

 但是这还没有办法解决我的业务问题,未完待续

 

数据表中记录明明有,session.get(类.class, id);返回null

原文:https://www.cnblogs.com/jnhs/p/11401316.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!