Well, that would be a question without a correct answer. For some, C3PO works best and for some, Proxool works best. Yet some would prefer DBCP. I'd suggest digging the Hibernate Users forum for past discussions about the relative differences between the pooling implementations.