在 SpringBoot 中无需创建实体类即可创建原生 SQL 查询

Jit*_*yal 6 sql orm spring hibernate-mapping spring-boot

ORM 的基础是与对象的映射。但是,出于某种原因,我不想创建用于运行查询的对象。

有什么方法可以在不创建实体(托管类)的情况下运行本机 SQL 查询?

The*_*ter 4

是的。你可以。

在存储库类中创建一个具有特定查询(本机查询)的方法:

@Query(value="select * from emp", nativeQuery=true)
Object getAllFromEmp();
Run Code Online (Sandbox Code Playgroud)

将此方法保留在存储库接口中并从服务类中调用它

或者您可以使用EntityManager对象,如下所示

Query q = entityManager.createNativeQuery("SELECT * FROM emp e");
List<Object[]> empObject= q.getResultList();
Run Code Online (Sandbox Code Playgroud)