首页 > 解决方案 > 当 jpa 查询在数据库中找不到行时出现空指针异常

问题描述

我正在尝试使用 jpa 从我的数据库中获取我的查询结果。当查询在数据库中没有找到任何内容时,它返回空指针异常。我试图检查它的 if 语句,如下面的代码,但我仍然得到空指针异常。

public List<String> getQuestionSavedUser(String salesOrder, String module,int questionID)
    {
        List<String> singleUser= entityManager.createQuery("select i.savedBy from EVMResponses i where i.salesOrder='"+salesOrder+"' AND i.module='"+module+"' AND i.questionID="+questionID+"", String.class).getResultList(); 
        System.out.println(singleUser.size());
        if(singleUser.size()>0&&singleUser.get(0)!=null)
        {
            users.add(singleUser.get(0));
        }
        else
        {
            users.add("");
        }
        return users;
    }

我怎么解决这个问题?

标签: hibernatejpajpql

解决方案


尝试这个:

public List<String> getQuestionSavedUser(String salesOrder, String module,int questionID)
    {
        List<String> users = new ArrayList<>();
        List<String> singleUser= entityManager.createQuery("select i.savedBy from EVMResponses i where i.salesOrder='"+salesOrder+"' AND i.module='"+module+"' AND i.questionID="+questionID+"", String.class).getResultList(); 
        System.out.println(singleUser.size());
        if(singleUser.size()>0&&singleUser.get(0)!=null)
        {
            users.add(singleUser.get(0));
        }
        else
        {
            users.add("");
        }
        return users;
    }

推荐阅读