列表NullPointerException休眠

时间:2018-06-25 07:59:32

标签: java hibernate nullpointerexception

我的休眠项目出错。当我计算列表的大小(null)时,它给了我NullPointerException,这导致它在执行查询时中断并且没有设置我传递的2个参数,而当我仅使用一个参数就可以完美工作时。 先谢谢了! Helppppp面!啊啊 我会告诉你的:

AlertsHelper

// swift 3.0
let k = 5
for i in stride(from: 10, through: k, by: 1) { print("i=\(i)") }
for i in stride(from: 10, to: k, by: 1) { print("i=\(i)") }

Jsp

public List getAlertsList(int level, String Process) 
{
    List<Dtalerts> list = null;
    try 
    {
            if(!this.session.isOpen()){
                this.iniciarConexion();
            }
        Query q = session.createQuery("from Dtalerts as dtalerts where  dtalerts.level = :level AND dtalerts.Process = :Process");
        //q.setParameter("Fh_alert", Fh_alert);
        q.setParameter("level", level);
        q.setParameter("Process", Process);
        list = (List<Dtalerts>) q.list();
    } catch (Exception ex) 
    {
        System.out.println("Excepcion " + ex);
        ex.printStackTrace();
    }
    return list;
}

1 个答案:

答案 0 :(得分:0)

首先,防止代码中出现NPE。您应该通过使用空列表初始化列表来避免从getAlertsList()返回空列表:

List<Dtalerts> list = new ArrayList<>();

并用以下结果填充列表:

list.addAll((List<Dtalerts>) q.list())

或在运行循环之前对JSP文件中的返回值进行空检查。

Rest与更正查询有关。 如果您无法解决查询,请发布您遇到的异常。