Another option for using a connection provider is to support sessions over time, especially with the mysql + hibernate combination. If you do not have a properly configured connection provider that processes timeouts from mysql, you will most likely lose the database connection sooner or later if you have periods of inactivity.