繁体   English   中英

在 spring JPA 中使用 @Query 从 db 获取数据时出现 java.lang.NullPointerException。 虽然查询返回 MySql 中的数据

[英]java.lang.NullPointerException while getting data from db using @Query in spring JPA. Though query returns data in MySql

我正在尝试使用 pincode 和 cityName 从 DB 获取数据,但出现 null 指针异常。 我尝试在 MySql 中运行查询。 它返回正确的结果。 pincode 和 cityName 正在获取正确的参数。

@Component
public interface GeoMasterDao extends PagingAndSortingRepository<GeoMaster, Long>,JpaSpecificationExecutor<GeoMaster>{

    @Query("select p from GeoMaster p where p.pincode =:pincode and p.cityName =:cityName")
    GeoMaster findByPincodeAndCityName(@Param("pincode") String pincode, @Param("cityName") String cityName);
}
@Entity
@Table(name = "geo_master")
@JsonIgnoreProperties("isBlocked")
@Getter
@Setter
public class GeoMaster extends AbstractEntity {

    @Column
    private String countryId;

    @Column
    private String districtId;

    @Column
    private String stateId;

    @Column
    private String pincode;

    @Column
    private String cityId;

    @Column
    private String cityName;

}

我使用GeoMaster gm = gmDao.findByPincodeAndCityName(pincode, cityName);调用它在这里我得到 NullPointerException。 findByPincodeAndCityName 的参数值正确。

null 指针异常可能是因为gmDao是 null 而不是查询有问题。 您应该检查以确保您的 DAO object 正在正确自动接线。 你应该有这样的东西:

@Autowired
public GeoMasterDao gmDao;

在执行查询的 class 中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM