关注JEECG发展历程 关注最新动态和版本, 记录JEECG成长点滴 更新日志 - 技术支持 - 招聘英才

JEECG最新版本下载 JEECG智能开发平台 - 显著提高开发效率 常见问题 - 入门视频 - 参与开源团队

商务QQ: 69893005、3102411850 商务热线(5*8小时): 010-64808099 官方邮箱: jeecgos@163.com

查看: 12906|回复: 11

[Minidao] getEntity报错:java.lang.NullPointerException

[复制链接]
发表于 2018-8-20 15:15:04 | 显示全部楼层 |阅读模式
代码图.png
HotelOrdersEntity hotelOrders = hotelOrdersService.getEntity(HotelOrdersEntity.class, Integer.parseInt(id));
按照例子,根据实体名称和主键获取实体。
一直都没有报错,不知道为什么突然这个就报错了。
调试界面的值.png
这个是调试界面的值,Source not found.
明明我在HotelOrdersController类中设的断点
为什么弹出这个 Source not found. 界面
 楼主| 发表于 2018-8-20 16:01:18 | 显示全部楼层
HotelOrdersEntity hotelOrders = hotelOrdersService.getEntity(HotelOrdersEntity.class, Integer.parseInt(id));
上面我System.out.println了我的传入的值,是可以正常打印的。
下面我System.out.println了一段字符串,字符串没打印出来,就报错提示空指针异常。
说明这个获取实体类出了问题,但是获取实体类我都是按照上面的例子写的。
调试也没找到问题。还请大神指点一二。
 楼主| 发表于 2018-8-20 16:39:08 | 显示全部楼层
大概有个方向了,Java中空指针属于初级错误。
一般有三种解决的思路:
1.类没有初始化,或者初始化不正确。
2.当一个对象的值为空时,没有判断为空的情况。
3.Spring框架的问题。成员没有get set 方法或者设置的问题

Spring的问题,暂时不可知。
个人判断应该是第一个问题,类没有初始化,就直接调用了未初始化类的方法。
hotelOrdersService.getEntity 这个里面的hotelOrdersService 我看了一下是
@Autowired
private HotelOrdersServiceI hotelOrdersService;
这样应该是可以正常调用的。
那么我怀疑应该是HotelOrdersEntity.class这个类的问题。
应该是在实例化这个实体类的时候,有一些字段是需要初始化值的,可能没有初始化值,就会提示这个空指针。
因为对这个minidao还不太熟练,Spring的知识也有些欠缺,这个public方法是我自己在代码生成的类自己加的,所以类上面没有写注解,不知道是不是这个原因。
如果是minidao的问题,我之前也是这样调用实体类,进行操作的,都没有问题。
甚至这一段代码我都是复制上面批量删除的类里面的方法。按照道理应该不会错,代码和类名都检查了。
 楼主| 发表于 2018-8-20 17:55:09 | 显示全部楼层
算了,不挣扎了,我再用Online生成一次HotelOrdersEntity类,怀疑是我改了Online里面的配置,没有重新生成代码造成的。
 楼主| 发表于 2018-8-20 18:04:00 | 显示全部楼层
重新生成了一遍代码,依然是空指针的异常。看来不是代码问题,现在可以就是语法的问题。或者就是我不应该在这个controller层写逻辑处理代码,应该在service层处理。现在把代码迁移到service中测试一下。good luck to me
 楼主| 发表于 2018-8-20 22:30:46 | 显示全部楼层
测试了一下,放Service层,完全行不通。我这里调用的方法都是都是Controller层的方法,而且我这样的写法,别的类都是一样的。字母和代码完全一样,难道不是语法的问题?
发表于 2018-8-21 09:43:13 | 显示全部楼层
是使用hql 改造下查询试试
 楼主| 发表于 2018-8-21 12:20:00 | 显示全部楼层
gaizohou.png

改造后
 楼主| 发表于 2018-8-21 16:35:55 | 显示全部楼层
调用SQL异常.png

明显的感觉到,这应该是我缺了什么地方,或者说是什么地方没配置对。
现在用的是systemService.findOneForJdbc方式,直接调用SQL来查询的,都提示java.lang.NullPointerException空指针。
我的环境是:MacOS
jeecg版本是:v 3.7.8
浏览器是:Google
发表于 2018-8-21 17:35:30 | 显示全部楼层
你的实体hibernate扫描路径配置了吗
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表