when i say "you should read the doc", there must be a reason.
http://www.hibernate.org/hib_docs/refer ... ernatejdbc
Hibernate's own connection pooling algorithm is quite rudimentary. It is intended to help you get started and is not intended for use in a production system or even for performance testing. Use a third party pool for best performance and stability, i.e., replace the hibernate.connection.pool_size property with connection pool specific settings.
There are a lot of interesting things in the doc and i admit, it is generally necessary to read it at least twice.