В некоторых случаях мы выбираем использование уникальных ограничений для первичных ключей для повышения производительности, особенно для таблиц, которые не имеют отношения к каким-либо другим таблицам. В некоторых случаях мы избегаем первичных ключей и даже нормализуем таблицу, чтобы предотвратить создание уникальных индексов, а также необходимость в Oracle обновлять и пересчитывать индексы при наличии изменений.
Я не dba, и я знаю, что есть несколько аргументов за и против использования первичных ключей, но я действительно не хочу вдаваться в подробности.
Честно говоря, причина, по которой я хочу использовать hibernate, исключительно для моей собственной выгоды, поскольку я хотел бы научиться использовать его. Учитывая, что у меня есть возможность написать этот инструмент, и что он не является критически важным инструментом и будет использоваться только «на месте», я решил, что мне следует попробовать спящий режим, и, изучив его, я могу найти его полезным позже, если мне потребуется это на других проектах.
В настоящее время у меня нет требования писать в базу данных, так что я буду только читать из базы данных. Поскольку не все таблицы имеют первичные ключи, возможно ли обмануть спящий режим, используя уникальный столбец в качестве первичного ключа? Я думаю, что возможно создать VIEWS и добавить столбец id в представление для таблиц, которые не имеют первичного ключа или уникального ограничения.