Подтвердить что ты не робот

Переводчики исключений на постоянство не найдены в bean factory. Невозможно выполнить трансляцию исключений

Я получаю следующее исключение после перехода на Spring Framework 3.1.0 RC1 с Hibernate 4.0.0 CR7

2011-12-08/11: 48: 38.425/EST [Thread-17] Ошибка инициализации контекста ERROR org.springframework.beans.factory.BeanCreationException: Ошибка при создании bean с именем "org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor # 0", определенным в ресурсе ServletContext [/WEB-INF/applicationContext-hibernate.xml]: Инициализация bean не удалось; Вложенное исключение - это java.lang.IllegalStateException: переводчики исключений с постоянством, найденные в bean factory. Невозможно выполнить перевод исключений.     на org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:530)     на org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:459)     at org.springframework.beans.factory.support.AbstractBeanFactory $1.getObject(AbstractBeanFactory.java:294)     на org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)     на org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)     на org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)     в org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:728)     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:449)     в org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:381)     в org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:283)     в org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111)     at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4723)     на org.apache.catalina.core.StandardContext $1.call(StandardContext.java:5226)     at org.apache.catalina.core.StandardContext $1.call(StandardContext.java:5221)     в java.util.concurrent.FutureTask $Sync.innerRun(Неизвестный источник)     в java.util.concurrent.FutureTask.run(Неизвестный источник)     в java.util.concurrent.ThreadPoolExecutor.runWorker(Неизвестный источник)     в java.util.concurrent.ThreadPoolExecutor $Worker.run(Неизвестный источник)     в java.lang.Thread.run(Неизвестный источник) Вызвано: java.lang.IllegalStateException: переводчики исключений на постоянство не найдены в bean factory. Невозможно выполнить перевод исключений.     at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.detectPersistenceExceptionTranslators(PersistenceExceptionTranslationInterceptor.java:142)     at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor. (PersistenceExceptionTranslationInterceptor.java:79)     at org.springframework.dao.annotation.PersistenceExceptionTranslationAdvisor. (PersistenceExceptionTranslationAdvisor.java:70)     at org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor.setBeanFactory(PersistenceExceptionTranslationPostProcessor.java:103)     на org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeAwareMethods(AbstractAutowireCapableBeanFactory.java:1465)     на org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1433)     на org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522)     ... еще 18

4b9b3361

Ответ 1

И с новой конфигурацией java spring:

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

Ответ 2

Как указано skravin, вы должны настроить HibernateExceptionTranslator. LocalSessionFactoryBean для Hibernate 3 реализует PersistenceExceptionTranslator, но для Hibernate 4 это не так.