Java 实体类的getHibernateLazyInitializer中的NullPointerException
我遇到以下异常:Java 实体类的getHibernateLazyInitializer中的NullPointerException,java,hibernate,javassist,Java,Hibernate,Javassist,我遇到以下异常: java.lang.NullPointerException at javassist.util.proxy.RuntimeSupport$DefaultMethodHandler.invoke(RuntimeSupport.java:38) at com.Customer_$$_javassist_1.getHibernateLazyInitializer(Customer_$$_javassist_1.java) at org.hi
java.lang.NullPointerException
at javassist.util.proxy.RuntimeSupport$DefaultMethodHandler.invoke(RuntimeSupport.java:38)
at com.Customer_$$_javassist_1.getHibernateLazyInitializer(Customer_$$_javassist_1.java)
at org.hibernate.Hibernate.isInitialized(Hibernate.java:429)
at org.hibernate.engine.StatefulPersistenceContext.reassociateIfUninitializedProxy(StatefulPersistenceContext.java:530)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.reassociateIfUninitializedProxy(DefaultSaveOrUpdateEventListener.java:99)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:82)
at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:685)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:677)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:673)
at org.springframework.orm.hibernate3.HibernateTemplate$16.doInHibernate(HibernateTemplate.java:740)
at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:406)
at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
at org.springframework.orm.hibernate3.HibernateTemplate.saveOrUpdate(HibernateTemplate.java:737)
at com.HibernateCustomerService.create(HibernateCustomerService.java:31)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:319)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at sun.proxy.$Proxy62.create(Unknown Source)
这通常在中/高负载下应用程序启动后不久发生。com.Customer
类的进一步实例化失败,出现了相同的异常,因此在我们重新启动之前,应用程序实际上已经中断
我跟踪了代码,看不到DefaultMethodHandler
如何在customer\u$$\ uJavassist\u1
中调用,因为它是在JavassitLazInitializer
中设置的
这是在Hibernate3.6.8-Final和Javassist3.16.1上实现的
以前有人见过这个吗?是否有可能的解决方法?是否有可能Hibernate正在尝试将某些内容初始化为null?例如,您可能存在数据库不一致性,而Hibernate认为必须存在的事实并非如此。不要这样认为-生成的
Customer\u$$$\ uJavassist\u1a
似乎没有调用setHandler
,而让它使用RuntimeSupport.default\uInterceptor
,当使用上述方法时,它将失效我也有同样的问题,如何解决呢?