java中当表中没有记录,为空的时候,用jpa查询的结果返回的是null吗?

发布网友

我来回答

3个回答

热心网友

即使数据库表中的记录为空,jpa查询的结果也不是null,而是一个List列表对象数为空的列表。
你之所以查询结果为空,是因为使用hibernate(如果你是用hibernate作为jpa的实现框架的话)创建的service对象没有创建的缘故。为什么没有创建,请粘贴源代码分析一下。

很简单的道理,你的service这个对象没有初始化,或者叫没有创建。因为没有创建这个对象,所以也就没法调用find()这个方法,所以会抛出空指针异常,之所以model==null可以,是因为server.find()当对象没有创建的的时候就是空null,所以可以。
你的任务是,初始化service这个对象。追问你好,service对象创建啦,在spring配置文件里我都实例化了,还有我没有用hibernate,我用的是struts2+spring+jpa

热心网友

你在xml里面配置的方法与对应吗 报的错误是控制指针异常找不到相应的类 你请求转发没有找到东西 当然不判断了 你可以把你报错截图出来 你把model给null当然就对了 因为没有传东西追问你好,我在spring配置文件中也对service对象实例化了,也与该类对应啊,我也不知道怎么回事,我用公司的电脑做的,电脑封闭的,截不了图的

热心网友

你好,麻烦截图出来看下。追问截什么图啊?是这样的,我在底层里写了一个查询方法,在action中调用了该方法,model=service.find();
我接下来又判断 if(model!=null){///////}else{aaaaaaaa},按道理我想应该输出else里的内容,可是一运行就提示model=service.find();这句话有空指针异常,如果我把model==null;再判断就好用,为什么呢?

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com