Hibernate Аннотации Многие ко многим Понимание отношений - PullRequest
0 голосов
/ 17 октября 2011

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

Первый сценарий:

@Entity
public class Entity1 implements Serializable {
@ManyToMany
List<Entity2> entitiy2;

Второй сценарий:

@Entity
public class Entity1 implements Serializable {
@ManyToMany
List<Entity2> entitiy2 = new ArrayList<Entity2>();

1 Ответ

4 голосов
/ 17 октября 2011

Для Hibernate нет разницы.Каждый раз, когда Entity1 загружается Hibernate, его список экземпляров Entity2 будет инициализироваться (или повторно инициализироваться во втором случае) с настраиваемым ненулевым списком Hibernate.

Для вашего собственного кода это имеет значение.В первом случае каждый раз, когда вы создаете экземпляр Entity1, он будет в плохом состоянии со списком экземпляров Entity2, который будет нулевым, а не пустым.Каждый раз, когда вы захотите добавить новый элемент в список итерации по списку (даже в модульных тестах), вам придется прежде проверять, является ли список нулевым или нет.Второй случай лучше, так как он инициализирует объект в хорошем состоянии, где список готов к использованию.

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