Thank you, Lukas, for your rapid response. In my opinion: Good JPA 2.0 things (in my opinion): * Java standard. * You can declare database mertadata by annotations. * Admits a metamodel based in classes. * Typesafe queries with a criteria API. Bad JPA 2.0 things (in my opinion): * Adds an abstraction level on top of SQL: no control over generated SQL, cache mechanism (entity manager), etc. * The criteria API is horrendous, very far of SQL syntax. I would like, ideally: * Java standard. * You can declare database mertadata by annotations. LOGICALLY, I'M RESPONSIBLE OF MANTAIN SYNCHRONIZED MY DATABASE AND MY ANNOTATIONS. * Admits a metamodel based in classes. * Typesafe queries with a fluent SQL-like syntax: JOOQ * Direct emission of SQL sentences (no cache, no sw layer).
Do you understand my point of view?
