获取hibernate对象会引发ObjectNotFoundException

获取hibernate对象会引发ObjectNotFoundException,hibernate,null,Hibernate,Null,具有以下域类: public class MyClass{ private MySecondClass mySecondClass; …………. } 我有一个ObjectNotFoundException,当我使用get()方法(getSessionFactory().getCurrentSession().get(getType(),id))从数据库中获取MyClass对象时,尝试在其中使用mySecondClass的getter并访问其任何getter。当mySecondClass对象

具有以下域类:

public class MyClass{

private MySecondClass mySecondClass;
………….

}
我有一个
ObjectNotFoundException
,当我使用
get()
方法(
getSessionFactory().getCurrentSession().get(getType(),id)
)从数据库中获取MyClass对象时,尝试在其中使用mySecondClass的getter并访问其任何getter。当mySecondClass对象应该为null,但它是一个名为javaassist的代理类时,就会发生这种情况。
mySecondClass对象被代理而不是null的原因是什么,或者我如何确保它为null,这样我就不需要抛出异常来知道这一点?

这可能表明您的数据库处于不一致状态:您有一个外键引用一个不存在的行。修复您的数据,并启用外键约束,以确保它不再发生。如果不是这样的话,post将显示异常堆栈跟踪、实体代码、导致异常的代码以及数据库中相关行的内容。您是对的。外键被设置为not null,因此当它的值应为null时,数据库将其更改为0。