Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在JPA中验证整数是否为空?_Java_Jpa - Fatal编程技术网

Java 如何在JPA中验证整数是否为空?

Java 如何在JPA中验证整数是否为空?,java,jpa,Java,Jpa,我验证了许多整数,但它是作为一系列if语句编写的,在SonarQube报告中失败。正如您从下面可以看到的,我想检查通道0是否(例如)不为null,以及整数是否不存在于我的存储库中,然后映射到我定义的某个错误消息。我已尝试删除该文件!=下面是空检查,并且已经实现了顶级答案中定义的@NullOrNotBlank注释,并将其分配给我的字段,但我相信这只适用于字符串: 当我在测试消息中包含不是通道的任何其他字段时,我会得到通道字段的NullpointerException错误 如何更新自定义注释以在验证

我验证了许多整数,但它是作为一系列if语句编写的,在SonarQube报告中失败。正如您从下面可以看到的,我想检查通道0是否(例如)不为null,以及整数是否不存在于我的存储库中,然后映射到我定义的某个错误消息。我已尝试删除该文件!=下面是空检查,并且已经实现了顶级答案中定义的@NullOrNotBlank注释,并将其分配给我的字段,但我相信这只适用于字符串:

当我在测试消息中包含不是通道的任何其他字段时,我会得到通道字段的NullpointerException错误

如何更新自定义注释以在验证中包含整数?还是我应该使用更合适的注释?或者也许有更好的方法来编写if语句

示例-“通道”:0


@ConstraintComposition(CompositionType.OR)
@空的
@不空白
@报告违规行为
@目标({ElementType.FIELD})
@保留(RetentionPolicy.RUNTIME)
@约束(validatedBy={})
public@interface NullOrNotBlank{
String message()默认值“{org.hibernate.validator.constraints.NullOrNotBlank.message}”;
类[]组()默认值{};

类您可以创建一个使用存储库(或任何其他bean)的自定义验证器

或者(如果使用第三方依赖关系是可以接受的),我建议Jakub Jirutka的,它允许以下内容:

公共类示例{
@SpELAssert(“@myService.calculate(#this)>42”)
私有int值;
}
if (updateCaseDataVO.getChannel() != null
                && !(channelRepository.findById(updateCaseDataVO.getChannel().getChannel()).isPresent())) {
            map.put(ErrorConstants.CHANNEL, ErrorConstants.CHANNEL_ERROR_MESSAGE);
        }
 @ConstraintComposition(CompositionType.OR)
    @Null
    @NotBlank
    @ReportAsSingleViolation
    @Target({ ElementType.FIELD })
    @Retention(RetentionPolicy.RUNTIME)
    @Constraint(validatedBy = {})
    public @interface NullOrNotBlank {
String message() default "{org.hibernate.validator.constraints.NullOrNotBlank.message}";

Class<?>[] groups() default {};

Class<? extends Payload>[] payload() default {};
}