JPA是否支持将单个值映射到标量数据类型?例如,要在以下查询中映射NUM
SELECT COUNT(*) AS NUM FROM EMPLOYEES
到一些变量
int numerOfEmployees
或者我是否必须将JDBC用于此类用例?
答案 0 :(得分:16)
是的,您可以从JPQL查询中返回标量类型
long num = ((Number)em.createQuery("select count(e) from Employee e")
.getSingleResult()).longValue();
以及本机SQL查询:
long num = ((Number)em.createNativeQuery("select count(*) from Employees")
.getSingleResult()).longValue();
请注意,在某些情况下,结果类型可能取决于数据库,即它可能类似于BigDecimal
。