Hibernate исключение при использовании генератора «личность» - как использовать - PullRequest
2 голосов
/ 21 октября 2010

Я использую Hibernate поверх SQL Server для веб-приложения. Я до сих пор использовал класс генератора «приращения» и недавно столкнулся с исключениями ConstraintViolation.

Итак, я изменил генератор на «личность» и получаю следующую ошибку -

Невозможно вставить значение NULL в столбец'valuation_administration_id ', таблица' faip.dbo.assessment_administration '; столбец не допускает пустых значений. Вставить не удается.

Ниже приведено сопоставление -

<class name="AssessmentAdministration" table="assessment_administration">
  <id name="id" type="long" column="assessment_administration_id">
    <generator class="identity" />
  </id>
  <property name="administrationName" column="administration_name" />
</class>

Что я здесь не так делаю? Я посмотрел на этот пост http://www.coderanch.com/t/216051/ORM/java/Hibernate-MSSQL-identity-column, но решение не опубликовано.

1 Ответ

2 голосов
/ 21 октября 2010

Ваш ID столбец на самом деле является IDENTITY столбцом? Если это не так, то это ваша проблема, поскольку Hibernate не будет включать столбец ID в оператор вставки при использовании генератора identity, полагаясь на базу данных для генерации значения. Изменили ли вы таблицу после изменения стратегии генератора?

...