2017-08-28 3 views
0

Hibernateを使用した場合、Main.getSession().get(User.class, 1);のようなものを実行できました。getSession()は、セッションファクトリからopenSession()を呼び出します。どうすればHikariDataSourceと同じことができますか? WikiはHikariConnectionProviderについて何か言及しましたが、例は与えられていません。HibernateでHikariCPを利用するには?

@Bean 
public DataSource dataSource() throws SQLException { 
    if (dbUrl == null || dbUrl.isEmpty()) { 
     return new HikariDataSource(); 
    } else { 
     HikariConfig config = new HikariConfig(); 
     config.setJdbcUrl(dbUrl); 
     return new HikariDataSource(config); 
    } 
} 

答えて

0

あなたが正しく理解している場合、HibernateはHikariによって提供される接続プールを使用します。その場合は、その後のSessionFactoryのメソッドを持っているsetDataSourc(...)

@Bean 
public LocalSessionFactoryBean sessionFactory() { 
    LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean(); 
    sessionFactory.setDataSource(dataSource()); 
    // ... 
    return sessionFactory; 
} 

セッションを開くと、接続がひかりプールから借用されます。

関連する問題