• load方法在延迟加载时可能出现的错误。


    load方法与get方法不同,对于数据库表中不存在的id, get方法返回null,load方法则报出ObjectNotFoundException异常。因为load方法默认的认为该id一定是在数据库表中存在的。

    如果在dao中要利用load方法检索对象的话,那么就要小心它可能的异常,可以这么来处理:

    这样的话,如果查询的id在表中不存在,那么会返回null。

    可是,如果在类级别设置了延迟加载lazy="true",那么,在执行load方法的时候,是不会出现异常的。但是当在页面或者action等业务

    类中调用对象的非主键属性时,这时hibernate才真正的发出查询请求,于是出现异常,但是该异常已经不能被捕捉到了,于是程序会发生

    错误。解决这个的办法,要么去掉延迟加载,要么不用load方法。

  • 相关阅读:
    考试题1
    九九乘法表
    面向对象
    *****用循环运用
    编辑实现逻辑运算和循环计数
    求:1-3+5-7+...-99+101的值的(分析求解)。
    三层for循环求解组成三角形边的组合
    for循环的应用
    Java基础输出语句
    习题4 编写一个方法method(),判断一个数能否同时被3和5整除
  • 原文地址:https://www.cnblogs.com/chaohi/p/2330407.html
Copyright © 2020-2023  润新知