Когда вам нужно проверить, является ли представление пустым?
Если это можно сделать один раз при запуске, вы можете просто поместить эту проверку в SessionCustomizer и изменить таблицу ClassDescriptor.
Если вам нужно делать это каждый раз, когда вы запрашиваете это, то это гораздо более странно.Вы можете определить MappedSuperclass и два подкласса, один из которых сопоставлен с представлением, а другой - с таблицей, а затем решить в вашем приложении, что использовать.
Вы также можете определить другое представление, которое дает желаемый результат.
Можно получить ClassDescriptor из сеанса во время выполнения и изменить его, но обычно это плохая идея, поскольку другие клиенты / потоки могут использовать дескриптор / сеанс одновременно.
Или просто всегда сопоставляйте с таблицей и фильтруйте то, что имеет отношение к вашему запросу (или дополнительным критериям объединения), вместо использования представления.