jboss eap6出现Tags_$$_javassist_26 cannot be cast to javassist.util.proxy.ProxyObject的解决办法

使用了spring,hibernate。部署在jboss eap6中时,查询时出现java.lang.ClassCastException: com.vteba.product.base.model.Tags_$$_javassist_26 cannot be cast to javassist.util.proxy.ProxyObject

com.vteba.product.base.model.Tags是一个实体类,使用了一对多自关联。

查询其他的实体了都没有这个问题。因为其他类没有关联的延迟加载。


解决办法:是因为自己项目中的javassist和jboss eap 6.1中的javassist.冲突了。

在jboss-deployment-structure.xml中使用jboss eap 的javassist。

如果是使用maven 则将其设为<scope>provided</scope>

<?xml version="1.0" encoding="UTF-8"?>
<!-- 所依赖的JBoss的模组,就可以不需要再项目中引入jar包了 -->
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0">
     <deployment>
         <dependencies>
<!--      org.hibernate依赖了infinispan,所以不需要再引入       <module name="org.infinispan"/> -->
            <module name="org.hibernate"/>
            <module name="org.javassist"></module>
<!--             <module name="org.jboss.resteasy.resteasy-jaxrs"></module> -->
<!--             <module name="org.jboss.as.clustering.infinispan"/>
<module name="org.jboss.as.jpa.hibernate" slot="4"/> slot指的是版本-->
         </dependencies>
     </deployment> 
</jboss-deployment-structure>




原文地址:https://www.cnblogs.com/keanuyaoo/p/3364664.html