Что такое & lt; bag & gt; и & lt; idbag & gt; в спящем режиме? Какова цель и когда мы должны использовать? [Дубликат]

LIMIT n, 1 не работает в MS SQL Server. Я думаю, что это просто единственная основная база данных, которая не поддерживает этот синтаксис. Справедливости ради, он не является частью стандарта SQL, хотя он так широко поддерживается, что он должен быть. Во всем, кроме SQL Server LIMIT, отлично работает. Для SQL-сервера я не смог найти элегантное решение.

2
задан Vlad Mihalcea 29 April 2015 в 07:13
поделиться

1 ответ

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

Нет такой вещи, как вариант использования, когда bag, и idbag не будет. Единственная разница в их эффективности:

  1. Сумки являются наиболее эффективным обратным набором , но они плохо работают для однонаправленных ассоциаций «один ко многим»:

Суммы являются наихудшим случаем, так как они допускают повторяющиеся значения элементов и, поскольку у них нет столбца индекса, первичный ключ не может быть определен. Hibernate не имеет возможности различать повторяющиеся строки. Hibernate разрешает эту проблему, полностью удаляя в одном DELETE и воссоздавая коллекцию всякий раз, когда она изменяется. Это может быть неэффективным.

  1. idbag - это устаревшее отображение гибернации, и они были использованы для предоставления более эффективных альтернативных альтернативных ассоциаций

Вы можете определить семантику idbag с помощью аннотации JPA @OrderColumn :

@OneToMany(mappedBy = "department")
@OrderColumn(name = "index_id")
private List<Employee> employees;

Таким образом вы можете использовать оба Списки и наборы для упорядочения коллекций.

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

6
ответ дан Vlad Mihalcea 22 August 2018 в 17:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: