В 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, безопасно ли это делать? При инициализации коллекции с нуля на пустую постоянные данные не будут изменены, но мы все же модифицируем объект, и, таким образом, поставщик сохраняемости может запускать некоторые побочные эффекты при сбросе контекста постоянства. Чем мы рискуем? Может быть, переносимость?