Изменяет ли Hibernate значение «0» на «NULL»? - PullRequest
0 голосов
/ 14 мая 2019

Я унаследовал приложение для исправления некоторых ошибок. Язык C #, и он использует Hibernate для связи с базой данных SQL Server 2016.

У меня есть одна таблица с типами элементов, которая выглядит так: - 0: тип А - 1: тип B - 2: тип C

В таблице «Элемент» есть поле для типа. Это поле "int NOT NULL" с ключом Foregin для другой таблицы.

Если я пытаюсь вставить элемент с «Type = 0», Hibernate выдает эту ошибку:

not-null property references a null or transient value

Если я проверяю журнал, записанный в консоли Hibernate, я вижу, что он пытается вставить значение NULL для этого поля:

@p27 = NULL [Type: Int32 (0)]

Любое другое значение «Типа» работает нормально.

Я впервые использую Hibernate, и я не могу найти решение для приложения .NET.

Отображение таблицы «Тип»:

<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="aaa"
               namespace="aaa">
<class name="Type" table="Type">
<id name="COD" column="COD">
  <generator class="native" />
</id>
<property name="DESC" column="DESC" />
</class>
</hibernate-mapping>

Другой:

<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="aaa"
               namespace="aaa">
<class name="Element" table="Elements">
<id name="COD" column="COD">
  <generator class="native" />
</id>
<property name="Type" column="Type" />
<property name="DESC" column="DESC" />
</class>
</hibernate-mapping>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...