Как-то для своих нужд сделал несложный препроцессор, позволяющий упростить работу с чистым JDBC; существенный недостаток JDBC в том, что нужно писать много однообразного кода для элементарных действий.
Была такая вещь, как SQLJ, но не прижилась, не в последнюю очередь из-за наличия специального языка, который не понимают IDE.
Это попытка соединить JDBC, SQLJ, плюс кое-какие идеи из iBATIS в чистом Java-коде, без использования XML или специальной разметки кода (вместо нее используются аннотации).
Итак, препроцессор и runtime-библиотека SQLG2.
Страница проекта:
http://sourceforge.net/projects/sqlg2
Документация:
http://sqlg2.sourceforge.net
Чем он хорош:
1. Простой, код становится более похожим на PL/SQL или аналогичные языки, что есть хорошо для тех, кто хочет разрабатывать логику именно в терминах БД.
2. Нет никаких конфигурационных XML-файлов, только Java-исходники, тем не менее препроцессор извлекает из них всю нужную информацию.
3. SQL-операторы проверяются во время препроцессирования, а не в run-time, т.е. ошибки будут пойманы сразу.
4. Небольшой размер, и не требует внешних библиотек (хотя для самого препроцессора и требуется ANTLR, он включен в соответствующий jar-файл).