With hibernate 3.x, when hibernate.c3p0.min_size was set, it used to initialize both c3p0.minPoolSize and c3p0.initialPoolSize.
That allowed a pool to be inited with one connection only.
With hibernate 4.x, this no longer works. Thus, c3p0.initialPoolSize gets its default value, which is 3 and we get a pool with a minimum of 3 connections.
A workaround consists of setting a "hibernate.c3p0.initialPoolSize" property but this is awkward because it is not among official hibernate.c3p0.* properties (which use underscore instead of camelCase names)