У меня проблема с архитектурой JPA 2.0 / ORM,
в нашей производственной системе (и я верю во многие системы) нам нужна возможность динамического изменения SQL-запросов, потому что медленные запросы и ошибки в запросах, которые были обнаружены только в рабочей среде (большая нагрузка и большие данные),
В результате мы использовали хранимые процедуры и вызываем их из iBatis.
Как я вижу в шаблоне, лучшая практика заключается в разделении между уровнем базы данных и уровнем приложения, чтобы я мог сказать своему администратору базы данных исправить исправленные таблицы хранимых процедур / индексов в производственной среде без развертывания нового приложения (распространять систему - долго развертывания).
В ORM / JPA 2.0 именованные запросы определены в коде, и программисту приходится улавливать проблемы с всей БД при разработке / QA - очень плохо!
Я видел в API, что платформа дает возможность определять собственные запросы, но в книгах / руководствах рекомендуется использовать именованные запросы ...
После того, как я прочитал SPEC Hibernate / JPA 2.0, чтобы посмотреть, есть ли решение этой проблемы,
Я понимаю, что нет решения ...?
Мне кажется, это очень похоже на то, что мне нужно определить запросы, жестко запрограммированные на уровне кода приложения ...
также определять запросы в дескрипторе XML и загружать XML с помощью патч-решения для горячего развертывания - очень плохо и не стандартно!
Был ли у вас шаблон проектирования / решение
Спасибо всем !!!
Uri.