У меня есть приложение, которое использует Spring и Hibernate. В моей базе данных есть некоторые представления, которые мне нужно загрузить в некоторые объекты. Поэтому я пытаюсь выполнить собственный запрос и загрузить класс с данными, полученными из представления:
//In my DAO class (@Repository)
public List<MyClass> findMyEntities(){
Query query = em.createNativeQuery("SELECT * FROM V_myView", MyClass.class);
return query.getResultList();
}
и MyClass имеет те же поля, что и имена столбцов представления.
Проблема в том, что Hibernate не может распознать MyClass, потому что это не сущность (она не помечена @Entity)
org.hibernate.MappingException: неизвестная сущность
Если я добавлю MyClass в качестве объекта, система попытается создать / обновить таблицу для этого объекта, потому что я настроил его:
<property name="hibernate.hbm2ddl.auto" value="update"/>
Итак, я вхожу в эти вопросы:
- Могу ли я отключить "hibernate.hbm2ddl.auto" только для одного объекта?
- Есть ли способ загрузить данные из представления в не-сущностный класс?
- Если нет, то как лучше всего в моем случае загрузить данные из представления в класс в hibernate?
Спасибо