JPA with Spring works fine. The only problem is the generateDdl attribute for the EntityManager. This makes the EM generate SQL DDL statements to create tables. But if there are already tables in the database, they are dropped and created new. Is there a configuration to generate tables when there are none, but keep them when there are already tables?
The other thing about Spring JPA is that EQL queries are a step back from a criteria based API. Hibernate, Grails, all use safer and typed query builders for querying databases. Hope Spring adds JPAUtils for a criteria based API for JPA.