Portlets are presentation specific and does not provide any specification for how the backend database. Its up to the developers to decide how they are connecting to the database. I find the Hibernate as the most appropriate answer for the portlets projects.
- It makes the portlets project easily configurable for any relational database.
- Provides the POJO classes to use.
- Lightweight then EJBs no Entity beans etc.
- Good transaction and rollback functionality.
The only reason why Hibernate might not be used is because of extra complexities it adds and many of the Open Source Portals are now using the Hibernate. Thus it might need some extra work to resolve any issues of jar files and classes being clashed. It might not of much to use the Hibernate for smaller portlets based products, but for the bigger projects these complexities can be dealt with.