Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> hibernate, mapping, первичный ключ, в маппинге неточность 
:(
    Опции темы
Adept
Дата 15.11.2006, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 210
Регистрация: 10.7.2003
Где: Санкт-Петербург

Репутация: нет
Всего: 2



При попытке вставить запись в БД вылазит такая ошибка.
Код

Hibernate: insert into WebminDB.dbo.tbDepartments (ParentDID, DepartmentName, DepType, Account, BankCode, UNN, AddressID, Telephone, LastModify) values (?, ?, ?, ?, ?, ?, ?, ?, ?)
[ WARN] 14:55:15 JDBCExceptionReporter - SQL Error: 515, SQLState: 23000
[ERROR] 14:55:15 JDBCExceptionReporter - Cannot insert the value NULL into column 'DID', table 'WebminDB.dbo.tbDepartments'; column does not allow nulls. INSERT fails.
[DEBUG] 14:55:16 ApplicationDispatcher - servletPath=/WEB-INF/jsp/dataAccessFailure.jsp, pathInfo=null, queryString=null, name=null

DID это первичный ключ, not null. Что я в маппинге неправильно написал?
маппинг
Код

<hibernate-mapping>
    <class name="springdb.model.Department" table="tbDepartments" schema="dbo" catalog="WebminDB">
        <id name="did" type="java.lang.Long">
            <column name="DID" precision="18" scale="0" />
            <generator class="native" />
        </id>
        <property name="parentDid" type="java.lang.Long">
            <column name="ParentDID" precision="18" scale="0" />
        </property>
        <property name="departmentName" type="java.lang.String">
            <column name="DepartmentName" length="250"  not-null="true"/>
        </property>
        <property name="depType" type="java.lang.Long">
            <column name="DepType" precision="10" scale="0" not-null="true" />
        </property>
        <property name="account" type="java.lang.String">
            <column name="Account" length="50" />
        </property>
        <property name="bankCode" type="java.lang.Integer">
            <column name="BankCode" />
        </property>
        <property name="unn" type="java.lang.Long">
            <column name="UNN" precision="18" scale="0"/>
        </property>
        <property name="addressId" type="java.lang.Long">
            <column name="AddressID" precision="18" scale="0"/>
        </property>
        <property name="telephone" type="java.lang.String">
            <column name="Telephone" length="50"/>
        </property>
        <property name="lastModify" type="java.util.Date">
            <column name="LastModify" length="23"/>
        </property>          
    </class>
</hibernate-mapping>

Если надо вот структура таблицы
Код

CREATE TABLE [dbo].[tbDepartments] (
    [DID] [numeric](18, 0) NOT NULL ,
    [ParentDID] [numeric](10, 0) NULL ,
    [DepartmentName] [varchar] (250) COLLATE Cyrillic_General_CI_AS NOT NULL ,
    [DepType] [numeric](10, 0) NOT NULL ,
    [Account] [varchar] (50) COLLATE Cyrillic_General_CI_AS NULL ,
    [BankCode] [int] NULL ,
    [UNN] [numeric](18, 0) NULL ,
    [AddressID] [numeric](18, 0) NULL ,
    [Telephone] [varchar] (50) COLLATE Cyrillic_General_CI_AS NULL ,
    [LastModify] [datetime] NULL 
) ON [PRIMARY]
GO

PM MAIL   Вверх
tux
Дата 15.11.2006, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



Попробуй generator поменять, например, на increment и посмотри что будет. Если работает, то надо читать про реализацию генератора типа native для данной конкретной СУБД, возможно надо генератор значений в БД создавать или еще что-то.
PM MAIL Skype GTalk Jabber YIM   Вверх
Adept
Дата 15.11.2006, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 210
Регистрация: 10.7.2003
Где: Санкт-Петербург

Репутация: нет
Всего: 2



Да, ты прав. Поставил increment, добавляет. Спасиба.
PM MAIL   Вверх
kkorsakoff
Дата 15.11.2006, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 378
Регистрация: 18.10.2005
Где: Санкт-Петербург

Репутация: 6
Всего: 14



Диалект правильный выбрал в hibernate.cfg.xml?
PM MAIL WWW ICQ   Вверх
Adept
Дата 16.11.2006, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 210
Регистрация: 10.7.2003
Где: Санкт-Петербург

Репутация: нет
Всего: 2



У меня приложение на спринге
Код

<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.generate_statistics">true</prop>
</props>
</property>

СУБД MSSQLServer2005
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0554 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.