Почему «приращение» не задает начальное число идентификаторов в SQL Server 2008 - PullRequest
0 голосов
/ 13 января 2011

Я пытаюсь изучить nhibernate 3.0, и я попытался поместить это в свое отображение

<id name="MovieId">
        <generator class="increment" />
    </id>

Однако, когда я генерирую свою базу данных, она делает MovieId как int (что я хочу), но не помещает

Когда я использую

   <id name="MovieId">
        <generator class="native" />
    </id>

, это работает.Я не уверен, что на самом деле родной и почему он работает.Я хоть инкремент делает целые числа.

1 Ответ

0 голосов
/ 13 января 2011

Генератор должен быть «тождественным» или «нативным» вместо «приращения».«Native» использует «sequence» для баз данных, таких как «PostGres» или «Oracle» и «identity» для MSSQL.Это позволяет одному и тому же приложению запускаться в разных базах данных без изменения отображений.

«Инкремент» увеличивает ID в памяти (вместо БД), что создает несколько недостатков, таких как невозможность масштабировать приложение на нескольких серверах или использоватьОдна и та же БД несколькими приложениями.

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