基本上我想将下面的NamedQuery翻译成JPA Criteria查询,
SELECT new com.test.vo.ResultVO (0L, 'EmployeeReport', E.FirstName, E.LastName) FROM EmployeeTable E
我正在使用CriteriaBuilder.construct(QueryResultVO, list of columns to be selected)
。
我理解为了'EmployeeReport'
我需要使用criteriaBuilder.literal('EmployeeReport')
。
但问题是如何才能获得select子句第一列值的0
(Long)?
当我使用构造方法时,它希望每列都是javax.persistence.criteria.Selection
的扩展名。
答案 0 :(得分:2)
CriteriaBuilder.literal也可用于此目的。长文字0的表达式可以如下构建:
Expression<Long> longLiteral0 = cb.literal(0L);