@OneToMany отображение для коллекции в спящем режиме - PullRequest
0 голосов
/ 12 октября 2018

Всякий раз, когда мы имеем двунаправленное отображение отношения @OneToMany, мы используем коллекцию в родительской сущности для сбора всех дочерних сущностей.Однако всегда рекомендуется иметь меньшее количество дочерних объектов для проблем производительности.Говорят, что у него есть @ManyToOne однонаправленное отображение в child и использование запроса, если нам нужны дочерние элементы, связанные с parent.В чем причина?

1 Ответ

0 голосов
/ 12 октября 2018

Я не уверен, где вы это читаете. Нет общего правила.

Но учтите:

  1. Если вы думаете, как это сопоставляется с таблицами, дочерняя таблица будет иметь внешний ключ к родительской таблице.На стороне rdbms у вас не будет явной «коллекции» в родительском элементе, это подразумевается внешним ключом.Таким образом, ManyToOne имеет тенденцию отражать реализацию.

  2. Если вы сопоставляете один со многими, это означает, что у вас есть коллекция в родительском элементе.Если у него много детей, это может занять много памяти.

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

  4. Если родитель имеет коллекцию, то при получении дочерних элементов вам нужно выполнить запрос, который, как говорят, следует выполнитьвернуть детей.

Может быть, это поможет вам несколько прояснить предполагаемую рекомендацию.

...