Spring with Querydsl:空指针异常

弹簧用户

我正在尝试在spring boot data JPA应用程序中实现搜索过滤器功能和加载网格为了创建动态查询,我正在使用Querydsl.

我正在根据 sFloor 和 nBuildId 搜索数据。

  1. 如果我通过 sFloor,nBuildId 只有匹配的记录应该显示在网格中

  2. 如果我没有传递任何值,则网格应该加载所有值。

我像下面这样尝试当我传递数据时,我能够过滤数据。但是当我没有通过任何记录时,我得到了null pointer exception.

房间控制器

@GetMapping("/getUnclaimedRoomDetails")
public List<Tuple> populateUnclaimedRoomGridView(@RequestParam(value="nBuildId", required=false) Integer nBuildId,
                                                 @RequestParam(value="sFloor", required=false) String sFloor) {
    return roomService.loadUnclamiedRoomGrid(nBuildId,sFloor);

}

客房服务

public  List<Tuple> loadUnclamiedRoomGrid(Integer nBuildId, String sFloor) {

    QRoom room = QRoom.room;        
    QRoomDepartmentMapping roomDepartmentMapping = QRoomDepartmentMapping.roomDepartmentMapping;

    JPAQuery<Tuple> query = new JPAQuery<Tuple>(em);

    query.from(room) 
         .where(room.nRoomId.notIn
                     (JPAExpressions.select(roomDepartmentMapping.nRoomId)
                           .from(roomDepartmentMapping)
                     )
           );

    if (nBuildId != 0) {
        query.where(room.nBuildId.eq(nBuildId));
    }

    if(sFloor != null) {
        query.where(room.sFloor.eq(sFloor));
    }       

return query.fetch();   

}

任何人都可以告诉我为什么我收到空指针异常而不是所有数据?

罗伯特·贝恩

我认为问题是if (nBuildId != 0)nBuildId是一个很大的,Integer所以在执行检查时,它被拆箱为一个原语int如果它为空,这将导致NullPointerException. 对空检查nBuildId应该可以解决问题, EG if (nBuildId != null && nBuildId != 0)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

RedisTemplate上的Spring Redis空指针异常

spring boot starter 邮件空指针异常

Mockito Spring Boot提供了空指针异常

使用Spring注入EntityManager(空指针异常)

Spring MVC项目中的空指针异常

Spring Boot项目空指针异常

Spring Query DSL提供空指针异常

spring和MessagesSource空指针异常

服务类Spring boot中的空指针异常

使用Spring Boot进行测试会引发空指针异常

使用 Spring Boot CRUD 的 Junit 中的空指针异常

Spring Boot控制器测试,空指针异常

Spring Data JPA的findById无法调用;空指针异常

在Spring MVC中为MongoTemplate实例获取空指针异常

Spring 3 MVC中的文件上传-空指针异常

静态方法和空指针异常的问题Spring Boot

在MVC Spring中向ActiveMQ发送消息给空指针异常

Spring Boot Data Jpa中的空指针异常

Spring Boot JUnit 测试 beanFactory.getBean 空指针异常

Spring Null指针异常

Spring Data + QueryDSL空谓词+谓词链接

在 spring security dofilter 身份验证方法中使用 @Autowired 注释时出现空指针异常

Spring @Autowired bean没有初始化;空指针异常

Spring MVC + Hibernate +一对一映射:session.save时出现空指针异常

JUNIT-在Spring Data JPA中调用findAll时,空指针异常

JPA 自定义转换器中的空指针异常 - Spring boot

使用 spring 集成实现时出现一个奇怪的空指针异常

检查帐户是否已存在时出现空指针异常 - Spring+Thymeleaf

Hibernate Interceptor 中自动装配字段的空指针异常(类由 Spring 管理)