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>




 

你可能感兴趣的:(javassist)