Jav*_*avi 4 java entity hibernate jpa view
我有一个使用Spring和Hibernate的应用程序.在我的数据库中,我需要在某些实体中加载一些视图.所以我正在尝试执行本机查询并使用从视图中检索的数据加载类:
//In my DAO class (@Repository)
public List<MyClass> findMyEntities(){
Query query = em.createNativeQuery("SELECT * FROM V_myView", MyClass.class);
return query.getResultList();
}
Run Code Online (Sandbox Code Playgroud)
和MyClass具有与视图的列名相同的字段.
问题是Hibernate无法识别MyClass,因为它不是一个实体(它没有用@Entity注释)
org.hibernate.MappingException:未知实体
如果我将MyClass作为实体,系统将尝试为该实体创建/更新表,因为我已经配置了它:
<property name="hibernate.hbm2ddl.auto" value="update"/>
所以我提出这些问题:
谢谢
放在你的班上
@Entity
@Immutable
@Subselect(QUERY)
public MyClass {....... }
Run Code Online (Sandbox Code Playgroud)
Hibernate执行查询以检索数据,但不创建表或视图.这样做的缺点是它只能用于读数.