首页 > 解决方案 > 为什么hibernate试图通过代理名称获取类以从jar加载类?

问题描述

我正在尝试在我的应用程序中使用最新的休眠 5.3.6 Final 和 WildFly 14,休眠无法加载映射到具有关系的实体的类。在日志中,它似乎正在尝试将关联的类及其代理名称加载到 .Jar 文件中。

2018-09-24 15:14:38,308 INFO  [stdout] (default task-1) 15:14:38.288 [default task-1] ERROR com.tlbo.bo.BaseBusinessMethods - com.tlbo.bo.personinfo.impl.client.PersonImpl$HibernateProxy$cCWcZAbjImplM from [Module "deployment.ctools.ear.ctservices.jar" from Service Module Loader]
2018-09-24 15:14:38,308 INFO  [stdout] (default task-1) java.lang.ClassNotFoundException: com.tlbo.bo.personinfo.impl.client.PersonImpl$HibernateProxy$cCWcZAbjImplM from [Module "deployment.ctools.ear.ctservices.jar" from Service Module Loader]

WildFly 日志中的错误:

2018-09-24 15:14:38,198 DEBUG [org.hibernate.loader.plan.exec.process.internal.ResultSetProcessorImpl] (default task-1) Starting ResultSet row #0
2018-09-24 15:14:38,198 DEBUG [org.hibernate.loader.plan.exec.process.internal.EntityReferenceInitializerImpl] (default task-1) On call to EntityIdentifierReaderImpl#resolve, EntityKey was already known; should only happen on root returns with an optional identifier specified
2018-09-24 15:14:38,227 DEBUG [org.hibernate.engine.internal.TwoPhaseLoad] (default task-1) Resolving associations for [com.tlbo.bo.artifact.impl.FileAttachmentImpl#190aa8c077d8fa3b161f9cbf51677ce]
2018-09-24 15:14:38,308 INFO  [stdout] (default task-1) 15:14:38.288 [default task-1] ERROR com.tlbo.bo.BaseBusinessMethods - com.tlbo.bo.personinfo.impl.client.PersonImpl$HibernateProxy$cCWcZAbjImplM from [Module "deployment.ctools.ear.ctservices.jar" from Service Module Loader]
2018-09-24 15:14:38,308 INFO  [stdout] (default task-1) java.lang.ClassNotFoundException: com.tlbo.bo.personinfo.impl.client.PersonImpl$HibernateProxy$cCWcZAbjImplM from [Module "deployment.ctools.ear.ctservices.jar" from Service Module Loader]
2018-09-24 15:14:38,308 INFO  [stdout] (default task-1)     at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:255) ~[?:?]
2018-09-24 15:14:38,308 INFO  [stdout] (default task-1)     at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:410) ~[?:?]
2018-09-24 15:14:38,308 INFO  [stdout] (default task-1)     at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) ~[?:?]
2018-09-24 15:14:38,308 INFO  [stdout] (default task-1)     at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116) ~[?:?]
2018-09-24 15:14:38,308 INFO  [stdout] (default task-1)     at java.lang.Class.forName0(Native Method) ~[?:1.8.0_31]
2018-09-24 15:14:38,308 INFO  [stdout] (default task-1)     at java.lang.Class.forName(Class.java:260) ~[?:1.8.0_31]
2018-09-24 15:14:38,308 INFO  [stdout] (default task-1)     at com.tlbo.bo.BaseBusinessMethods.addMethodToMap(BaseBusinessMethods.java:152) [ctservices.jar:?]
2018-09-24 15:14:38,308 INFO  [stdout] (default task-1)     at com.tlbo.bo.BaseBusinessMethods.getMethods(BaseBusinessMethods.java:106) [ctservices.jar:?]

我搜索了这样的场景,但没有找到任何关于它的内容。请帮我解决这个问题。提前致谢!

标签: javahibernate

解决方案


推荐阅读