0

Hibernate と MSSQL 環境を持つ。次のエラーに直面しました: '列 'comment_id'、テーブル 'CHT.dbo.reporter_comments' に値 NULL を挿入できません。列はヌルを許可しません。INSERT は失敗します。休止状態の構成:

<id unsaved-value = "null" type = "int" name="commentId" column="comment_id">
  <generator class="identity"/>
</id>

    <property name="reporterId" column="REPORTERID" />
    <property name="adminComments" column="COMMENT" />
    <property name="commentDate" column="COMMENT_DATE"/>
    <property name="commentBy" column="COMMENT_BY"/>

「comment_id」列には db の「identity」プロパティがあります: db クライアントを使用して挿入を行う場合:

insert into REPORTER_COMMENTS (REPORTERID, COMMENT, COMMENT_DATE, COMMENT_BY) 
values (15119, 'test', '2013-03-04 05:45:25', 'admin');

それは私にとって完璧に機能します。

休止ログ:

ReporterComments] [REPORTER_COMMENTS (REPORTERID、COMMENT、COMMENT_DATE、COMMENT_BY) 値 (?、?、?、?) に挿入] java.sql.SQLException: [BEA][SQLServer JDBC Driver][SQLServer]列に値 NULL を挿入できません'comment_id'、テーブル 'CHT.dbo.reporter_comments'; 列はヌルを許可しません。INSERT は失敗します。

ありがとう!

4

1 に答える 1

4

あなたのcomment_idコラムは実際にIDENTITYコラムですか?そうでない場合は、ID ジェネレーターを使用するときに Hibernate がcomment_id挿入ステートメントに列を含めず、データベースに依存して値を生成するため、それが問題です。

于 2013-03-04T11:39:10.957 に答える