Java 列表NullPointerException休眠
我的hibernate项目出错。当计算listnull的大小时,它会给我一个NullPointerException,因为它在执行查询时中断,并且没有设置我传递的两个参数,而我只使用一个参数就可以完美地工作。 提前感谢!救命啊!啊哈 我将向你展示: 警报架Java 列表NullPointerException休眠,java,hibernate,nullpointerexception,Java,Hibernate,Nullpointerexception,我的hibernate项目出错。当计算listnull的大小时,它会给我一个NullPointerException,因为它在执行查询时中断,并且没有设置我传递的两个参数,而我只使用一个参数就可以完美地工作。 提前感谢!救命啊!啊哈 我将向你展示: 警报架 public List getAlertsList(int level, String Process) { List<Dtalerts> list = null; try {
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;
}
Jsp
首先,在代码中防止NPE。通过使用空列表初始化列表,应避免从getAlertsList返回空列表:
List<Dtalerts> list = new ArrayList<>();
并在列表中填入如下结果:
list.addAll((List<Dtalerts>) q.list())
或者在运行循环之前对JSP文件中的返回值进行空检查
其余部分是关于更正您的查询。
如果您无法解决查询,请发布您得到的异常。使用其他查询参数名称,则Process可能是Process或Process1,因为您已经有一个名为ProcessPerfect的类!非常感谢。
list.addAll((List<Dtalerts>) q.list())