Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
 Инициализация List  [new]
Molasar
Member

Откуда:
Сообщений: 767
Всем привет!

Где правильнее инициализировать persons при объявлении или в конструкторе?
@Entity
...
@OneToMany
private List<Person> persons;
3 окт 19, 15:26    [21985956]     Ответить | Цитировать Сообщить модератору
 Re: Инициализация List  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2144
Molasar,
В сервисном слое БЛ.
3 окт 19, 16:22    [21986016]     Ответить | Цитировать Сообщить модератору
 Re: Инициализация List  [new]
Molasar
Member

Откуда:
Сообщений: 767
Т.е. инициализация объекта в сущности привязывает нас к конкретной реализации и ограничивает нас.
Инициализация в сервисном слое позволяет нам подставить любую другую реализацию, расширяя возможности.

Я правильно понимаю концепцию?

PetroNotC Sharp
Molasar,
В сервисном слое БЛ.
4 окт 19, 09:21    [21986415]     Ответить | Цитировать Сообщить модератору
 Re: Инициализация List  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2144
Molasar
Т.е. инициализация объекта в сущности привязывает нас к конкретной реализации и ограничивает нас.
Инициализация в сервисном слое позволяет нам подставить любую другую реализацию, расширяя возможности.

можно ещё тысячу слов написать - инициализация объекта там где он понадобился (слой БЛ).
Но опять же, где Helo world один ко многим? Код где?
4 окт 19, 10:22    [21986479]     Ответить | Цитировать Сообщить модератору
 Re: Инициализация List  [new]
chpasha
Member

Откуда:
Сообщений: 8446
Molasar
Где правильнее инициализировать persons при объявлении или в конструкторе?

документация Hibernate рекомендует при объявлении. Найдешь сам или ссылку давать? Глава "Persistent collections"

Molasar
Т.е. инициализация объекта в сущности привязывает нас к конкретной реализации и ограничивает нас.
Инициализация в сервисном слое позволяет нам подставить любую другую реализацию, расширяя возможности.
Я правильно понимаю концепцию?

нет. хибер все равно заменит в итоге на свою реализацию коллекции.
4 окт 19, 12:18    [21986619]     Ответить | Цитировать Сообщить модератору
 Re: Инициализация List  [new]
vas0
Member

Откуда: Таможенный союз (Россия, Казахстан)
Сообщений: 1279
Molasar,

Во многих проектах в которых участвовал, чтобы не бороться с NPE делали:
@OneToMany
private List<Person> persons = new ArrayList();
Писать конструктор для инициализации обычно не принято. Как по мне это лишнее "разделение" логики, которое ведет к тому что код нужно в нескольких местах смотреть\изменять. А если инициализировать сразу то у тебя "единый контекст" в коде.
4 окт 19, 13:00    [21986668]     Ответить | Цитировать Сообщить модератору
Все форумы / Java Ответить