У меня есть приложение, которое использует Spring и Hibernate. В моей базе данных есть некоторые представления, которые мне нужно загрузить в некоторых объектах. Так что я пытаюсь выполнить родной запрос и загрузить данные класса Withthe, извлекаемые с точки зрения:Загрузить объект из представления в JPA/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: Unknown entity
Если я ставлю MyClass как субъект система поместит попытаться создать/обновить таблица для этого объекта, потому что я настроил его:
<property name="hibernate.hbm2ddl.auto" value="update"/>
Так что я пришел в эти вопросы:
- Можно ли отключить «hibernate.hbm2ddl.auto» только для одного объекта?
- Есть ли способ загрузить данные из представления в класс без сущности?
- Если нет, что было бы лучшим способом в моем случае для загрузки данных из представления в класс в спящем режиме?
Благодаря
FWIW, Другие реализации JPA поддерживают класс результатов, который не является сущностью, а спецификация JPA 2.0 ничего не говорит только о типах Entity. – DataNucleus