Having played with Linq (to SQL and Objects) as well as the Entity Framework from Microsoft recently, I was wondering what the non-.Net (specifically Java) equivalents are?
Consider using Querydsl : http://www.querydsl.com
It supports JPA/Hibernate, JDO, SQL and Collections.
Querydsl is fully type-safe, supports autocomplete in IDEs and provides a common querying syntax on top multiple backends.
I am the maintainer of Querydsl, and I wrote a comparison to other frameworks some time ago.
It is slightly biased, but shows the different emphasis
Newer frameworks experiment also with closure syntax.