The default connection pooling mechanism available with hibernate is c3p0.
Hibernate ships with c3p0, so it is to configure by adding few configuration properties to your configuration file (hibernate.cfg.xml or hibernate.properties).
A simple hibernate c3p0 configuration is shown below:
<property name="c3p0.acquire_increment">1</property>
<property name="c3p0.idle_test_period">100</property> <!-- seconds -->
<property name="c3p0.max_size">100</property>
<property name="c3p0.max_statements">0</property>
<property name="c3p0.min_size">10</property>
<property name="c3p0.timeout">100</property> <!-- seconds -->
The other connection pooling mechanism that hibernate supports are: