MWS Best practice question

Hi all,
I need to develop a small application using MWS and leveraging the MWS CAF framework to develop my UI portlets and implement some basic logic in MWS 7.1.1 and consequently I need to access a database schema and then update the data stored in the database (read, write, delete, update). It’s pretty basic stuff, and I have done this successfully before in IS by using the JDBC adapter but I never done this within the MWS framework, so I need to know what would be the best approach for this? Pls, keep in mind that the famous JDBC adapter runs only on IS and not in MWS, so it will require a web service call or a direct RFC call to IS in order to use the JDBC adapter which probably will impact performance and add an extra point of failure to the architecture I am building. So, what would be the most recommended approach or approaches? Should I consider using the Java Hibernate (http://en.wikipedia.org/wiki/Hibernate_%28Java%29 or http://www.hibernate.org/) or has any one tried successfully any other approach? Pls, advise. Thanks in advance!