Одна из основных причин, по которой я использую Hibernate, заключается в том, что он предоставляет гибкость для переключения на другую базу данных без необходимости перезаписи какого-либо кода.
Но до сих пор я не нашел хорошего способа определения дополнительных представлений для таблиц, с которыми сопоставляются мои спящие сущности; Я все еще использую простые сценарии SQL для этого. Есть ли более элегантный способ определения представлений для таблиц, управляемых hibernate?
В идеале я хотел бы использовать HQL или другой универсальный метод для выполнения этой работы, чтобы мне не приходилось беспокоиться о том, что мои сценарии SQL несовместимы с другими типами баз данных.
Если есть способ сделать это, то второй проблемой будет получение «синтетических» экземпляров только для чтения из этих представлений, что должно упростить подачу агрегированных данных в пользовательский интерфейс.
EDIT:
Кажется, что я не прояснил проблему достаточно, поэтому вот что я пытаюсь сделать: я хочу написать код, который не зависит от используемой базы данных. Поскольку я использую hibernate, мне просто нужно изменить файл конфигурации диалекта и затем использовать другую СУБД.
Вопрос: как создать представлений на моих спящих объектах без , опираясь на определенный диалект SQL (чтобы все было переносимо) или даже на HQL? И если это возможно, могу ли я использовать HQL для запроса этих представлений, то есть для создания агрегатных сущностей только для чтения? Есть ли дополнительный плагин Hibernate, чтобы помочь мне с этим? Пока ничего не нашел ...: - /