Использовать представления базы данных в Hibernate
У меня есть стол с именем Samples
в моей БД, и у него есть столбец с именем baseline
которая является логической переменной. Я хотел искать среди строк, которые имеют baseline
установить как 1
, поэтому я создал представление в БД (MySQL). Теперь вместо того, чтобы запрашивать Samples
таблица, я хочу запросить это представление (имена как Baselines
).
Нужно ли добавить объявление для этого представления в файле hibernate cfg? Кроме того, мне нужно создать еще один класс Java с именем Baselines
за это?
2 ответа
Hibernate может обрабатывать представления так же, как и любые таблицы. Просто определите класс сущности на основе этого представления (Baselines
, как ты говоришь).
Самая распространенная проблема с представлениями заключается в том, что некоторые механизмы баз данных не могут обрабатывать вставки или обновления в представлениях, поэтому имейте это в виду, если ваше приложение пытается изменить данные. Я не знаю, способен ли MySQL к этому.
Альтернативой использованию представления является использование фильтров Hibernate, которые делают то же самое, но на уровне сеанса Hibernate.
Я сделал нечто подобное между NHiberNate и SQL Server.
Я рассматривал вид так же, как обычные таблицы.