Я можу запропонувати apache empire-db. http://incubator.apache.org/empire-db/
Apache Empire-db - компонент збереження реляційних даних із відкритим кодом, який дозволяє визначити динамічні запити від постачальника баз даних, а також безпечне та просте пошуку та оновлення даних. Порівняно з більшістю інших рішень, таких як Hibernate, TopLink, iBATIS або JPA, компанія Empire-db застосовує значно інший підхід, приділяючи особливу увагу безпеці під час збирання , зменшенню надмірностей та покращенню продуктивності розробників.
Приклад:
// Define the query
DBCommand cmd = db.createCommand();
DBColumnExpr EMPLOYEE_FULLNAME= db.EMPLOYEES.LASTNAME.append(", ")
.append(db.EMPLOYEES.FIRSTNAME).as("FULL_NAME");
// Select required columns
cmd.select(db.EMPLOYEES.EMPLOYEE_ID, EMPLOYEE_FULLNAME);
cmd.select(db.EMPLOYEES.GENDER, db.EMPLOYEES.PHONE_NUMBER);
cmd.select(db.DEPARTMENTS.NAME.as("DEPARTMENT"));
cmd.select(db.DEPARTMENTS.BUSINESS_UNIT);
// Set Joins
cmd.join(db.EMPLOYEES.DEPARTMENT_ID, db.DEPARTMENTS.DEPARTMENT_ID);
// Set contraints and order
cmd.where(EMP.LASTNAME.length().isGreaterThan(0));
cmd.orderBy(EMP.LASTNAME);;