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