【发布时间】:2015-04-22 00:32:25
【问题描述】:
我创建了自定义会话工厂提供程序类。我在哪里设置休眠属性和带注释的类。我有超过 100 个带注释的类。当我登录应用程序时,加载会话工厂需要很长时间。有什么办法可以克服这个问题或者我做错了什么?请帮帮我。
public class SessionFatoryProvider {
public void setNewSessionFactory(String uname,String password,HttpSession hs){
String jdbcUrl = Constants.DB_URL+Constants.DB;
java.util.Properties hibernateProperties = new java.util.Properties();
hibernateProperties.setProperty("hibernate.connection.driverClassNames", "com.mysql.jdbc.Driver");
hibernateProperties.setProperty("hibernate.connection.url", jdbcUrl);
hibernateProperties.setProperty("hibernate.connection.username", uname);
hibernateProperties.setProperty("hibernate.connection.password", password);
hibernateProperties.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQLDialect");
hibernateProperties.setProperty("hibernate.show_sql", "true");
hibernateProperties.setProperty("hibernate.hbm2ddl.auto","none");
hibernateProperties.setProperty("current_session_context_class","org.hibernate.context.spi.AbstractCurrentSessionContext");
hibernateProperties.setProperty("hibernate.cache.use_second_level_cache","false");
hibernateProperties.setProperty("hibernate.cache.use_query_cache","false");
LocalSessionFactoryBean slfb = new LocalSessionFactoryBean();
slfb.setHibernateProperties(hibernateProperties);
slfb.setPackagesToScan("com.orb.bean"); //My entity class package
try {
slfb.afterPropertiesSet();
} catch (Exception e) {
e.printStackTrace();
}
SessionFactory mySessionFactory = slfb.getObject();
HibernateTransactionManager transactionManager = new HibernateTransactionManager();
transactionManager.setSessionFactory(mySessionFactory);
hs.setAttribute("HibernateTransactionManager", transactionManager); //Here I am setting hibernate transaction manager in session
}
}
【问题讨论】:
标签: java spring hibernate configuration sessionfactory