2016-03-22 3 views
0

После обновления версии libs до последней и обновленной конфигурации сеанс начинает давать нулевые объекты. Я пробовал с различными конфигурациями, но это может быть лучше всего. Не могли бы вы помочь и объяснить, что произошло с обновлением?Spring 4 Миграция из hibernate 4 to 5 session return null

<spring.version>4.2.5.RELEASE</spring.version> 
    <hibernate.version>5.1.0.Final</hibernate.version> 




     @Bean 
     public LocalSessionFactoryBean sessionFactory() { 
      final LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean(); 
      sessionFactory.setDataSource(restDataSource()); 
      sessionFactory.setPackagesToScan(new String[]{"com.project"}); 
      sessionFactory.setHibernateProperties(hibernateProperties()); 

      return sessionFactory; 
     } 


     @Bean 
     public HibernateTransactionManager transactionManager() { 
      HibernateTransactionManager txManager = new HibernateTransactionManager(); 
      txManager.setSessionFactory(sessionFactory().getObject()); 
      return txManager; 
     } 

     @Bean 
     public DataSource restDataSource() { 
      final DriverManagerDataSource dataSource = new DriverManagerDataSource(env.getProperty("jdbc.url"), 
        env.getProperty("jdbc.user"), env.getProperty("jdbc.pass")); 
      dataSource.setDriverClassName(env.getProperty("jdbc.driverClassName")); 
      return dataSource; 
     } 

     @Bean 
     public PersistenceExceptionTranslationPostProcessor exceptionTranslation() { 
      return new PersistenceExceptionTranslationPostProcessor(); 
     } 

     final Properties hibernateProperties() { 
      return new Properties() { 
       { 
        setProperty("hibernate.dialect", env.getProperty("hibernate.dialect")); 
        setProperty("hibernate.show_sql", env.getProperty("hibernate.show_sql")); 
        setProperty("hibernate.current_session_context_class", "org.springframework.orm.hibernate5.SpringSessionContext"); 
        setProperty("hibernate.implicit_naming_strategy","org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyHbmImpl"); 
        setProperty("hibernate.format_sql","false"); 
        setProperty("hibernate.use_sql_comments","false"); 
        setProperty("hibernate.id.new_generator_mappings","true"); 
        setProperty("hibernate.enable_lazy_load_no_trans","true"); 
        setProperty("hibernate.max_fetch_depth","1"); 
        setProperty("hibernate.default_batch_fetch_size","16"); 

       } 
      }; 
     } 

ответ

0

Вы должны убедиться, что ваш импорт LocalSessionFactoryBean имеет спящий режим 5

org.springframework.orm.hibernate5.LocalSessionFactoryBean 
+0

Thx для ответа, мой импорт был 5 версий, и это не решило проблему ( – BabyGluk

+0

@BabyGluk вы видите любые исключения в вашей консоли – Pragnani

+0

Интересно, что у меня нет каких-либо исключений в журналах. Я запускаю сеанс из sessionFactory и получаю объект по критериям, в результате у меня есть null, но когда я возвращаю конфиги и pom, все отлично работает на старых версиях – BabyGluk

Смежные вопросы