I have found using the JPA that DB interfacing is much simpler, adapts to change much more quickly, and that I think about the database less and less in my code.
In the past I would think of the schema, its structures, the values in the columns etc., but today I think less on those terms and rather focus on my internal application services and APIs. I find once I've tested them, I can ignore the underlying DB details for what I want to do. In fact I recently had a colleague ask my what the data in a certain table should look like for a specific situation, and I told him I didn't know since I rely on the internal APIs. Even our database queries are most likely done via Toplinks Expressions API (not a part of JPA, but will be in JPA 2, and similar to Hibernates Criteria API), rather than EQL or SQL.
I find the JPA lets me spend far less time staring at SQL and SQL output and more time focusing on my code and APIs rather than worrying about the database.
[Message sent by forum member 'whartung' (whartung)]
http://forums.java.net/jive/thread.jspa?messageID=297694