JPA createNativeQuery getResultList List <object []>跳过null </object []>的字段

时间:2014-03-04 14:48:17

标签: java sql jpa

我们正在使用JPA的createNativeQuery,以便我们返回List<Object[]>;见:https://stackoverflow.com/a/13701011/34806

我们的Java代码希望能够遍历列表并返回具有固定个“字段”(Object数组中Object s的对象数组)。但是,如果数据库中的任何字段为空,则Object []数组不包含它们,而是完全跳过此类空字段,以使Object[]中的“行”(List数组)包含字段少于其他行 - 这显然有问题。

1 个答案:

答案 0 :(得分:0)

我们的解决方案是在查询的SQL中为每个可空字段使用coalesce,以返回除null之外的默认值。例如以下内容:

SELECT EMPNO, COALESCE(SALARY, 0) FROM EMPLOYEE

如果Salary为null,则返回0。请参阅:https://www.ibm.com/support/knowledgecenter/SSEPGG_11.1.0/com.ibm.db2.luw.sql.ref.doc/doc/r0000780.html注意:我刚刚替换了之前的链接,因为它不再有效,遗憾的是可能会再次发生:(我想只是在这种情况下google for“database coalesce”。