Проверка гибернации - сравнение с другими объектами

1

Извините, что я не понимаю здесь, так как я уже три дня в Hibernate.

Я пытаюсь добавить проверки в Entity, которые потребуют от них сравнения с другим Entity.

Например, возьмите Person Entity. Person может иметь много BodyPart s, но не более двух BodyPart типа "рука" (мутация в сторону). Чтобы проверить это, при вставке новой BodyPart мне нужно сравнить ее с другими BodyPart для данного Person и проверить, что для этого типа еще нет максимума.

Я смотрел материалы Constraint/Validation, предлагаемые Hibernate, но ни один из них, похоже, не охватывает такой сценарий. Как это обычно делается? Есть ли лучшее/другое решение для этого? Это действительно нестандартная потребность?

Теги:
hibernate
validation

2 ответа

2
Лучший ответ

Hibernate Validation и JSR 303 в целом не охватывают такие сценарии afaik. Они были введены для обеспечения простой и быстрой проверки ограничений, таких как @NotNull, @Min и т.д. Вам нужно написать какой-то пользовательский класс проверки.

Лично я не использую JSR 303, потому что рано или поздно вы столкнетесь с такими требованиями и, наконец, получите код проверки, разбросанный во многих местах. Я предпочитаю иметь мою проверку в одном пакете и полностью отключен от модели домена.

  • 0
    Это почти то же самое понимание и вывод, к которому я пришел. Я также ценю идею разделения валидации.
0

вы можете попробовать массив, иметь первую запись как "рука" (это будет Array [0] и проверить его с помощью цикла, что он не превышает значение 2, то же самое для хвоста ног (1) и всего остального ты желаешь.

  • 0
    Я не уверен, что вы понимаете вопрос (или, возможно, я не понимаю вас). Я пытаюсь проверить / перехватить операции сохранения сущности, а не просто проверить POJO, который у меня где-то есть в качестве переменной.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню