No hay persistencia excepción de los traductores se encuentran en el bean de fábrica. No se puede realizar excepción de traducción

Estoy recibiendo siguiente excepción después de migrar a la Primavera de Marco 3.1.0 RC1 con Hibernate 4.0.0 CR7

2011-12-08/11:48:38.425/EST [Hilo-17] ERROR de inicialización del Contexto error
org.springframework.los frijoles.de la fábrica.BeanCreationException: Error al crear el bean con el nombre de ‘org.springframework.dao.la anotación.PersistenceExceptionTranslationPostprocessor#0’ definido en ServletContext de recursos [/WEB-INF/applicationContext-hibernate.xml]: error de Inicialización de la haba fracasado; excepciones anidadas es java.lang.IllegalStateException: No persistencia excepción de los traductores se encuentran en el bean de fábrica. No se puede realizar excepción de la traducción.
en org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:530)
en org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:459)
en org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
en org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
en org.springframework.los frijoles.de la fábrica.apoyo.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
en org.springframework.los frijoles.de la fábrica.apoyo.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
en org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:728)
en org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:449)
en org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationcontext(ContextLoader.java:381)
en org.springframework.web.contexto.ContextLoader.initWebApplicationContext(ContextLoader.java:283)
en org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111)
en org.apache.catalina.núcleo.StandardContext.listenerStart(StandardContext.java:4723)
en org.apache.catalina.núcleo.StandardContext$1.llame al(StandardContext.java:5226)
en org.apache.catalina.núcleo.StandardContext$1.llame al(StandardContext.java:5221)
en java.util.concurrente.FutureTask$Sincronización.innerRun(Fuente Desconocida)
en java.util.concurrente.FutureTask.ejecutar(Fuente Desconocida)
en java.util.concurrente.ThreadPoolExecutor.runWorker(Fuente Desconocida)
en java.util.concurrente.ThreadPoolExecutor$Trabajador.ejecutar(Fuente Desconocida)
en java.lang.Subproceso.ejecutar(Fuente Desconocida)
Causado por: java.lang.IllegalStateException: No persistencia excepción de los traductores se encuentran en el bean de fábrica. No se puede realizar excepción de la traducción.
en org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.detectPersistenceExceptionTranslators(PersistenceExceptionTranslationInterceptor.java:142)
en org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.(PersistenceExceptionTranslationInterceptor.java:79)
en org.springframework.dao.annotation.PersistenceExceptionTranslationAdvisor.(PersistenceExceptionTranslationAdvisor.java:70)
en org.springframework.dao.annotation.PersistenceExceptionTranslationPostprocessor.setBeanFactory(PersistenceExceptionTranslationPostprocessor.java:103)
en org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeAwareMethods(AbstractAutowireCapableBeanFactory.java:1465)
en org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1433)
en org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522)
… 18 más

  • ¿PersistenceExceptionTranslationPostprocessor requiere de ningún otro de los granos definido. Nunca lo he usado antes, pero supongo que eso es lo que está causando el error.
  • Parece, usted necesita definir uno de los derivados de la PersistenceExceptionTranslator en el bean de configuración.
InformationsquelleAutor Mat B. | 2011-12-08

2 Kommentare

  1. 25

    Y con la nueva primavera de configuración de java :

        @Bean 
        public HibernateExceptionTranslator hibernateExceptionTranslator(){ 
          return new HibernateExceptionTranslator(); 
        }
  2. 23

    Como se ha mencionado por skravin, debe configurar un HibernateExceptionTranslator. El LocalSessionFactoryBean de Hibernate 3 implementa PersistenceExceptionTranslator, pero el uno para Hibernar 4 no.

    • Lo que significa «para configurar HibernateExceptionTranslator»? Yo sigo este doc static.springsource.org/spring-data/data-jpa/docs/current/… y no mencionarlo? Gracias.
    • Acaba de declarar un bean de este tipo en el contexto de la primavera archivo XML.
    • Pero, ¿cómo exactamente? <bean id=»HibernateExceptionTranslator»></bean> no funciona, obviamente. Me pregunto por qué no se documenta en el tutorial oficial. Gracias
    • <bean id=»someId» clase=»org.springframework.orm.hibernate4.HibernateExceptionTranslator»/>
    • Brillante, el id=»someId» es, obviamente, ni siquiera es necesario. Gracias!

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea