0

私は 1 つの sqlserver 2008 r2 データテーブルを持っています。1 つの列 autoId int identity(1,1) がありますが、それは主キーではなく、別の列 varchar(20) が 1 つです。質問: hbm ファイルをどのように設定しますか? 以下は私の設定ファイルですが、1 つのインスタンスを保存しようとするとエラーが発生します。「IDENTITY_INSERT が OFF に設定されている場合、テーブル 'acct_info' の ID 列に明示的な値を挿入できません。」

        <property name="autoId" type="int">
            <column name="auto_id" not-null="true" unique="true"  />
        </property>
4

1 に答える 1

0

2 つの理由が考えられます。IDENTITY INSERT に対して DB で十分な権限がないか、休止状態と DB レイヤーで識別子を設定しようとしているメカニズムに不一致があるかのいずれかです。

休止状態定義ファイルでID生成戦略を見ることができます

  1. DBでは、次のように変更できますSet IDENTITY_INSERT to "ON"
  2. 別のジェネレーター クラスを選択する
于 2012-06-16T07:17:34.663 に答える