我正在尝试使用pincode和cityName从数据库获取数据,但是我得到了空指针异常。
我试图在MySql中运行查询。它返回正确的结果。
密码和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参数中的值正确。

最佳答案

空指针异常可能正在发生,因为gmDao为空,而不是查询出现问题。您应该检查以确保正确地自动连接了DAO对象。您应该具有以下内容:

@Autowired
public GeoMasterDao gmDao;


在执行查询的类中。

10-08 14:53