我有一个具有延迟加载关系的对象。加载对象后(不加载延迟加载的子对象),我关闭了会话,从而分离了对象。
如果我理解正确,如果我尝试myObject.getLazyChild(),我将得到一个LazyInitializationException。
在这种情况下,有没有办法让myObject.lazyChild自动设置为null?
当然,我可以调用myObject.setLazyChild(null); ,但我正在寻找一种自动执行此操作的方法。
答案 0 :(得分:4)
不,没有办法。你为什么想做这个?如果您尝试访问它并且尚未加载,则最好获得异常,通知您设计中存在错误,而不是null
,这可能是该字段的完全有效值,从而导致您的应用程序表现不佳。想想这个用例:
如果你忘记加载患者的癌症区域,你会让他离开。我最好得到一个例外,修复我的代码,并让病人治愈。