【发布时间】:2018-11-30 01:53:53
【问题描述】:
ORM 的基础是与对象的映射。但是,出于某种原因,我不想创建用于运行查询的对象。
有什么方法可以在不创建实体(托管类)的情况下运行本机 SQL 查询?
【问题讨论】:
标签: sql spring spring-boot orm hibernate-mapping
ORM 的基础是与对象的映射。但是,出于某种原因,我不想创建用于运行查询的对象。
有什么方法可以在不创建实体(托管类)的情况下运行本机 SQL 查询?
【问题讨论】:
标签: sql spring spring-boot orm hibernate-mapping
是的。你可以。
在repository类中创建带有特定查询(本机查询)的方法:
@Query(value="select * from emp", nativeQuery=true)
Object getAllFromEmp();
将此方法保留在存储库接口中并从服务类中调用它
或者您可以使用 EntityManager 对象,如下所示
Query q = entityManager.createNativeQuery("SELECT * FROM emp e");
List<Object[]> empObject= q.getResultList();
【讨论】:
看看createNativeQuery
...
Query query = em.createNativeQuery("select ...");
...
而且,我认为您可以在此线程中找到更多相关信息:https://stackoverflow.com/a/2110860/672798
【讨论】: