NHibernate и Hilo Generator: как создавать таблицы ключей? - PullRequest
8 голосов
/ 03 февраля 2010

Я собираюсь переключить некоторые из моих сущностей с идентичности на hilo id-generator.

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

  • я должен использовать одну таблицу для всех сущностей или для группы связанных сущностей?
  • я должен использовать другую таблицу для каждой сущности?
  • я должен использовать одну таблицу с другой строкой или столбцом для каждой сущности?

Есть ли лучшие практики? Что нужно учитывать? Есть ли плюсы или минусы для любого из подходов?

1 Ответ

3 голосов
/ 04 февраля 2010

Я не думаю, что есть единственная "лучшая" практика, но важно понять, как работает HiLo:

  • Генератор таблиц hilo предназначен для баз данных, которые не поддерживают последовательности, которые более естественно подходят для этой задачи.
  • Значение Hi для класса извлекается и обновляется при первом сохранении экземпляра этого класса или при исчерпании значений Lo .
  • Для каждого класса используется другое значение Hi .

Итак, вам нужно рассмотреть как минимум две переменные:

  • Разногласия. Вы можете улучшить производительность немного , используя отдельные таблицы
  • Диапазон. С очень большой базой данных вы рискуете в конечном итоге исчерпать значения Hi .

После всего этого, это вопрос вкуса.

...