Проверка бина JPA: атрибуты, которые не были загружены, должны быть загружены для предварительного удаления - PullRequest
0 голосов
/ 05 марта 2020

JPA spe c 2.2 при проверке:

The validator instance that is used for automatic validation upon 
lifecycle events must use a TraversableResolver that has the following behavior:

• Attributes that have not been loaded must not be loaded.
• Validation cascade (@Valid) must not occur for entity
  associations (single- or multi-valued).

Если ленивый атрибут не загружен, как можно проверить значение атрибута для события предварительного удаления? например, @Null, @ Empty

public class Foo {
    private byte[] photo;
    private List<Bar> bars;

    @Basic(fetch=FetchType.LAZY)
    @Lob
    @Null
    public byte[] getPhoto() {
        return photo;
    }

    @OneToMany(fetch=FetchType.LAZY)
    @Empty
    public List<Bar> getBars() {
        return bars;
    } 
}

Свойства фотографии / баров необходимо загрузить для проверки ограничения @ Null / @ Empty для предварительного удаления. Таким образом, атрибуты, которые не были загружены, будут загружены валидатором. право?

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