使用JPA检索单个值?

Jan*_*sen 11 jpa

JPA是否支持将单个值映射到标量数据类型?例如,要在以下查询中映射NUM

SELECT COUNT(*) AS NUM FROM EMPLOYEES
Run Code Online (Sandbox Code Playgroud)

一些变量

int numerOfEmployees
Run Code Online (Sandbox Code Playgroud)

或者我是否必须将JDBC用于此类用例?

axt*_*avt 16

是的,您可以从JPQL查询返回标量类型

long num = ((Number)em.createQuery("select count(e) from Employee e")
                    .getSingleResult()).longValue();
Run Code Online (Sandbox Code Playgroud)

以及本机SQL查询:

long num = ((Number)em.createNativeQuery("select count(*) from Employees")
                    .getSingleResult()).longValue();
Run Code Online (Sandbox Code Playgroud)

请注意,在某些情况下,结果类型可能取决于数据库,即它可能是类似的BigDecimal.