HibernateException sem descrição alguma

Fala galera,

Alguém já viu isso?

Estou utilizando Hibernate + Spring e, no quando converto a exceção do Spring para o Hibernate, ele dá uma HibernateException sem nenhuma descrição! Simplesmente org.hibernate.HibernateException at bla bla bla… e só…

Valeu pela força!

Raul, se você mandar seu código fica mais fácil ajudar… Somente com a frase “deu erro” é complicado adivinhar.

Como você está fazendo a “conversão” das exceptions?

Posta o stack trace da exceção.

O problema é justamente este! Eu não sei o erro, pra mim tá tudo certo… o código é um saveOrUpdate…

Olha a exceção:

org.hibernate.HibernateException
dhl.com.unicard.database.RequestDaoImpl.updateRequestDetailInfo(RequestDaoImpl.java:155)
sun.reflect.GeneratedMethodAccessor18.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:301)
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
$Proxy19.updateRequestDetailInfo(Unknown Source)
dhl.com.unicard.service.UnicardServiceImpl.processReference(UnicardServiceImpl.java:25)
sun.reflect.GeneratedMethodAccessor16.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:301)
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
org.springframework.remoting.support.RemoteInvocationTraceInterceptor.invoke(RemoteInvocationTraceInterceptor.java:70)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
$Proxy3.processReference(Unknown Source)
sun.reflect.GeneratedMethodAccessor15.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.springframework.remoting.support.RemoteInvocation.invoke(RemoteInvocation.java:205)
org.springframework.remoting.support.DefaultRemoteInvocationExecutor.invoke(DefaultRemoteInvocationExecutor.java:38)
org.springframework.remoting.support.RemoteInvocationBasedExporter.invoke(RemoteInvocationBasedExporter.java:78)
org.springframework.remoting.rmi.RmiBasedExporter.invoke(RmiBasedExporter.java:72)
org.springframework.remoting.rmi.RmiInvocationWrapper.invoke(RmiInvocationWrapper.java:72)
sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305)
sun.rmi.transport.Transport$1.run(Transport.java:159)
java.security.AccessController.doPrivileged(Native Method)
sun.rmi.transport.Transport.serviceCall(Transport.java:155)
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
java.lang.Thread.run(Thread.java:619)

OBS: A exceção vai pra um log, por isso esta formatação…

Isso não parece ser um stack trace completo.

Pegue ela na mão e imprima o stack trace completo.

Esta é a exceção já tratada pelo Spring(HibernateDaoSupport), utilizando o método convertHibernateAccessException()…

Vou pegar o core dela e já posto aqui!

Faço coro ao Mauricio Linhares. Vai lá na RequestDaoImpl.java:155 e coloque um belo e simples try and catch fazendo imprimir a exception na mão grossa, sem formatação nem nada.

try { xxxx } catch(Exception e) { e.printStackTrace(); }

Há anos usando Hib e Spring, nunca vi exception sem mensagem neles. Até pq tudo que o Spring faz é um wrapper nas exceptions do Hib.