[英]Spring 4 Migrate from hibernate 4 to 5 session return null
After upgrading libs version to last and refreshing configurations session start giving null objects. 将libs版本升级到最新版本并刷新配置会话后,会话开始提供空对象。 I tried with different configurations, but this may be better from all.
我尝试了不同的配置,但总的来说可能会更好。 Could you help and explain what happened with upgrade?
您能帮忙解释一下升级发生了什么吗?
<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");
}
};
}
您需要确保您导入的LocalSessionFactoryBean
是休眠5
org.springframework.orm.hibernate5.LocalSessionFactoryBean
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.