Является ли хорошей практикой инициализировать поля внутри получателя сущности JPA?

В Java-компонентах POJO такой код может быть полезным, особенно с коллекциями:

class POJO {
    private Collection<X> col;

    public Collection<X> getCol() {
        if (col == null)
           col = new SomeCollection<X>();

        return col;
    }
}

Это делает возможным использование кода POJO для вызова pojo.getCol (). IsEmpty () без дополнительной проверки на null, что делает код более понятным.

Предположим, что класс POJO является объектом JPA, безопасно ли это делать? При инициализации коллекции с нуля на пустую постоянные данные не будут изменены, но мы все же модифицируем объект, и, таким образом, поставщик сохраняемости может запускать некоторые побочные эффекты при сбросе контекста постоянства. Чем мы рискуем? Может быть, переносимость?

15
задан MaDa 17 October 2011 в 08:44
поделиться