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

来源:互联网 发布:2016年网络直播元年 编辑:程序博客网 时间:2024/05/22 07:50

使用了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>