Я знаю, что этот вопрос задавался ранее, но, к сожалению, я не могу получить ответы на работу ( Как проверить ограничение на уровне поля перед ограничением на уровне класса? ).
У меня есть следующее Pojo:
@ValidBalanceData(allowableBalanceDifference = 0.01)
public class Mutation {
@NotNull() private BigDecimal balanceBefore;
@NotNull() private BigDecimal balanceAfter;
@NotNull() private BigDecimal amount;
....
}
Я реализовал аннотацию ValidBalanceData:
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = BalanceDataConstraintChecker.class)
public @interface ValidBalanceData {
String message() default "{nl.smith.balanceData.message}";
double allowableBalanceDifference();
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
}
Я также реализовал класс validatedBy.
К сожалению, ограничение ValidBalanceData проверяется перед ограничениями NotNull. Поскольку ограничение ValidBalanceData предполагает, что значения balanceBefore, balanceAfter и amount не равны NULL, это приводит к исключению Nullpointer. Как мне решить эту проблему?
Может кто-нибудь дать мне рабочий пример (используя @GroupSequence и поля)?