Необходимо читать объекты Java из базы данных. Выбор базы данных пока неясен, поэтому мой код должен быть независимым от БД. Hibernate обеспечивает достаточно такой независимости, но он (как я вижу) в основном предназначен для внешнего интерфейса. Проблема в том, что он возвращает коллекции, которые сначала кэшируются на стороне клиента. Моему приложению требуется чтение большого количества объектов для их обработки за один проход. Использование чистого JDBC с ResultSet более подходит для этого, но требует довольно много стандартного кода с собственным SQL.
Хотелось бы ваших предложений о решении. Посмотрите на это примерно так: мы определяем сущности JPA, затем итеративно считываем их из БД, используя creteria, например, в HQL. И объекты не должны собираться на стороне клиента до начала итерации (за исключением, возможно, некоторой буферизации по соображениям производительности).
Также были бы рассмотрены решения Java, не основанные на Hibernate/JPA.
Спасибо, @ashok-kumar-n, но версия Community не поддерживает мою БД :(
какую бд вы используете
Текущий Oracle и рассматривается PostgreSQL. Также моя компания предпочитает использовать бесплатные решения.
отправьте эту ссылку stackoverflow.com/questions/7242388/…, если какие-либо комментарии полезны, просто проголосуйте за них.
Что вы имеете в виду под клиентом / интерфейсом?
@ashok-kumar-n, да, этот ответ, кажется, указывает правильное направление. Извините, не могу проголосовать :(
уже есть вопрос по этой проблеме, поэтому я отмечаю как дубликат
@ user10815638: Деньги, которые вы потратите на внедрение собственного решения для обхода различий в диалектах баз данных, определенно перевесят любые лицензии jOOQ. Вот лишь краткий обзор того, что jOOQ делает для вас
@ Лукас Эдер, к настоящему времени будет не более 100 нативных запросов. Наверное, проще переписать их все. Хотя все еще на рассмотрении.
@ user10815638, вы все еще можете использовать jOOQ, чтобы переписать их: jooq.org/перевод




В соответствии с вашим вариантом использования сравните поддерживаемый API для JDBC по ссылке ниже. сравнение API JDBC
попробуйте этот jooq.org