Открытие соединения с базой данных обычно намного дороже, чем выполнение оператора SQL. Пул соединений используется для минимизации количества соединений, открытых между приложением и базой данных.
Hibernate поддерживает различные механизмы пула соединений. Если вы используете сервер приложений, вы можете использовать встроенный пул sh (обычно соединение устанавливается с использованием JNDI). Если вы не можете или не можете использовать встроенный пул соединений вашего сервера приложений, Hibernate поддерживает несколько других пулов соединений, HikariCP, c3p0, dbcp2, tomcat и vibur.
Вот конфигурация для HikariCP для файла свойств приложения:
`dataSourceClassName=org.postgresql.ds.PGSimpleDataSource
dataSource.user=test
dataSource.password=test
dataSource.databaseName=mydb
dataSource.portNumber=5432
dataSource.serverName=localhost
dataSource.maximumPoolSize=10
dataSource.minimumIdle=3
dataSource.connectionTimeout=30000`
Вот ссылка для получения подробной информации о конфигурации hikariCP: https://github.com/brettwooldridge/HikariCP