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