Cglib - hibernate3.2 [nao-resolvido]

Galera estou usando Hibernate 3.2 e cglib 2.1.3 e aconteceu o seguinte erro:
ClassCastException: $$EnhancerByCGLIB$

Alguem sabe a solução??

Como você está fazendo para obter esta exceção?

p.s.: movido para “ferramentas etc e tal”

Na seguinte linha:
Decomposed decomposed = (Decomposed)activity;

Gera o erro:

java.lang.ClassCastException: activities.classes.Activity$$EnhancerByCGLIB$$10afdbdf

Coloque o stacktrace completo e o código completo do seu método.

Exception in thread “AWT-EventQueue-0” java.lang.ClassCastException: activities.classes.Activity$$EnhancerByCGLIB$$10afdbdf
at facades.EnactmentEngine.getState(EnactmentEngine.java:2424)
at facades.EnactmentEngine.isReadyToBegin(EnactmentEngine.java:2341)
at facades.EnactmentEngine.searchForReadyActivities(EnactmentEngine.java:1357)
at facades.EnactmentEngine.plainActivityHasStarted(EnactmentEngine.java:2122)
at facades.EnactmentEngine.beginTask(EnactmentEngine.java:269)
at br.ufpa.labes.server.impl.EnactmentEngineImpl.beginTask(EnactmentEngineImpl.java:37)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
at sun.rmi.transport.Transport$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknown Source)
at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source)
at sun.rmi.server.UnicastRef.invoke(Unknown Source)
at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(Unknown Source)
at java.rmi.server.RemoteObjectInvocationHandler.invoke(Unknown Source)
at $Proxy2.beginTask(Unknown Source)
at br.ufpa.labes.managerSDK.dataRepository.onLine.rmi.RMIEnactmentEngine.beginTask(RMIEnactmentEngine.java:42)
at br.ufpa.labes.agenda.AgendaModel.beginTask(AgendaModel.java:378)
at br.ufpa.labes.agenda.AgendaProcess$ButtonListener.actionPerformed(AgendaProcess.java:370)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Voce fez uma query que te retornou um monte de Activity, e nao de Decomposed. Verifique a query.

Seguinte o erro e nesse trecho:
if (activity instanceof Plain) {
Plain plain = (Plain)activity;
state = plain.getTheEnactionDescription().getState();
}
else { // decomposed
Decomposed decomposed = (Decomposed)activity;
}

Usando o Hibernate 2.1.7 ele entra no IF(o q é o correto). Ja usando o Hibernate 3.2 com o msm banco(e msm situação) nao acontece isso e ele vai direto pro ELSE causando o erro ja citado.

Ele não entra no IF porque esse tal de Activity não é uma instância de Plain, reveja a sua query que ela com certeza está fazendo o select no objeto errado.

Mas acho que nao é pq eu fazendo a mesma ação com o Hibernate 2.1 da certo.