But I'd say the winner is Spring Data http://www.springsource.org/spring-data. It offers a simple but powerful abstraction over many different underlying data store technologies and generates daos for you automatically. Here's a presentation of Spring Data JPA http://blog.springsource.com/2011/02/10/getting-started-with-spring-data-jpa. Unfortunately Spring Data has not been released in final versions yet.