API проверки бинов в JPA - PullRequest
       39

API проверки бинов в JPA

0 голосов
/ 19 марта 2020

Реализация JPA по умолчанию проверяет ограничения проверки в следующих точках жизненного цикла:

javax.persistence.validation.group.pre-persist
javax.persistence.validation.group.pre-update
javax.persistence.validation.group.pre-remove

В приложении весенней загрузки, как настроить это поведение?
Я не хочу использовать persistence.xml file

Кроме того, есть ли способ включить проверку также при загрузке сущности?
Например, если я использую @NotNull, я также хочу объявить, что любой экземпляр этой сущности,
с этим свойством null просто недопустимо, поэтому должно быть выброшено исключение?

1 Ответ

0 голосов
/ 14 апреля 2020

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

Например, javax.persistence.validation.group.pre-update будет быть spring.jpa.properties.javax.persistence.validation.group.pre-update, за которым следуют группы, которые вы sh подтвердите, используя эти события жизненного цикла, как показано ниже:

spring.jpa.properties.javax.persistence.validation.group.pre-update=javax.validation.groups.Default

Что касается целостности данных вашего приложения, в идеале вы хотел бы убедиться, что в базовой базе данных присутствует только чистая и точная дата и что существуют ограничения БД для предотвращения присутствия любых неверных данных. Например, вы хотели бы иметь ограничение NOT NULL для указанного столбца c в таблице БД. Если вы генерируете схему БД из кода Java, вы можете рассмотреть возможность использования @NotNull вместе с аннотацией @Column(nullable = false), которая создаст для вас это ограничение

...