我总是得到一个空指针异常,因为结果列表为空且不为空。我以为“问题”已经解决了?
Query query = em.createNamedQuery("findMaxTranslationId");
query.setMaxResults(1);
List<Long> results = query.getResultList();
System.out.print(results); //Output = [null]
Long translationId = 1L;
if (!results.isEmpty()) {
translationId = results.get(0); //null pointer exception
}
return translationId;
查询:
SELECT MAX(t.translationId) FROM Translation t
我还手动测试了查询,它正在运行。
答案 0 :(得分:0)
SQL函数&#34; max&#34;如果没有要比较的行,则返回null!因此会有一个列表,其中包含一个返回null的对象。