валидатор hibernate - находит сущности, используемые валидатором до начала процесса валидации, поэтому эти сущности можно использовать повторно - PullRequest
0 голосов
/ 07 апреля 2020

В проекте, над которым я сейчас работаю, мы используем множество java проверок бинов. Во многих из этих проверок нам нужно извлекать сущности из уровня данных, чтобы их можно было использовать в процессе проверки.

Скажем, к примеру, у нас есть код ограничения класса Car.java

@FirstValidation
@SecondValidation
public class Car {

   private Engine engine;

   private List<Tires> tires;

...

}

@FirstValidation:

public class FirstValidationValidator implements ConstraintValidator<FirstValidation, Car> {

    private final EngineRepository engineRepository;

    @Override
    public boolean isValid(Car car, ConstraintValidatorContext context) {
        Engine engine = engineRepository.findEngineByCarId(car.getId());
        // do some validation with engine instance
    }

}

@SecondValidation код ограничения выглядит следующим образом:

public class SecondValidationValidator implements ConstraintValidator<SecondValidation, Car> {

    private final EngineRepository engineRepository;

    @Override
    public boolean isValid(Car car, ConstraintValidatorContext context) {
        Engine engine = engineRepository.findEngineByCarId(car.getId());
        // do some validation with engine instance
    }

}

Что меня интересует, так это способ, которым я могу найти сущности, используемые в валидациях до начала валидаций, и поместить их в какой-то контекст, поэтому мне не нужно извлекать эти сущности для каждой валидации отдельно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...