Где я должен обрабатывать запросы к базе данных для проверки с весны данных jpa? - PullRequest
1 голос
/ 07 марта 2019

Я недавно работал над API, использующим Spring boot с spring-data-jpa.Я использовал аннотации jsr303 с валидатором hibernate для проверки моих dtos в моих запросах API перед их сопоставлением с сущностью JPA.

Я также использовал те же аннотации средства проверки гибернации для своей сущности JPA, чтобы проверять при передаче сущности в хранилище jpa данных Spring для ее сохранения.

Большинство этих проверок используют jpa-репозиторий данных Spring для проверки чего-либо вроде того, находится ли переданное значение в определенном списке в базе данных.Недавно мне сказали, однако, что использование EntityManager во время жизненного цикла jpa (проверка) не поддерживается, и я столкнулся с ошибками с ним, см. Средство проверки Hibernate, приводящее к тому, что отношения многие ко многим не сохраняются

Я получил ответ, что это «странная» идея использовать эти аннотации для проверки сущности на уровне постоянства.Мой вопрос будет, где я должен сделать проверку моей сущности?Как я уже сказал, у меня есть проверка на моем уровне API отдыха, но я не хочу просто предполагать, что я правильно построил сущность в коде, не связанном с уровнем отдыха.

Один вариант, который я собирался попробовать, - это использовать аннотации JSR для сущности, но проверить их в моих методах уровня обслуживания с помощью @Valid.Проблема в том, что EntityManager все равно попытается проверить эти аннотации, и я не могу найти способ заставить их игнорировать их.

Я действительно не хочу реализовывать всю свою проверку вручную, когда jsr303аннотации работают хорошо ...

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