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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Hibernate: 2а идентификатора 
:(
    Опции темы
kez
Дата 24.6.2009, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



база db2. 
у таблицы 2а идентификатора.
id на уровне таблицы - автоинкремент
docglobalid на уровне бд - выдается с помощью счетчика на уровне БД. т.е. next value for DOCUM.GUID

сейчас маппинг данного класса выглядит вот так

Код

<hibernate-mapping>
  <class name="model.InnerDocument" table="DOCUM.DC_INNER_DOCUMENT">
    <id column="ID" name="id">
      <generator class="native"/>
    </id>
    <property column="NUMBER" name="number"/>
    <property column="REGDATE" name="regDate"/>
    <property column="THEME" name="theme"/>
    <property column="INNETRTEXT" name="innerText"/>
    <many-to-one class="model.Employee" column="IDAUTHOR" name="author"/>
    <many-to-one class="model.Employee" column="IDFORWHO" name="forWho"/>
  </class>
</hibernate-mapping>


на данный момент без второго идентификатора - docglobalid.

задача внедрить это поле. и что бы база выдавала его автоматом.

т.е. инсерт должен выглядить примерно так
Код

insert DOCUM.DC_INNER_DOCUMENT (id, docglobalid, theme) values (default,  next value for DOCUM.GUID, "Frank")

docglobalid нельзя сделать стринговым, в противногм случае получим
Код

insert DOCUM.DC_INNER_DOCUMENT (id, docglobalid, theme) values (default,  "next value for DOCUM.GUID", "Frank")

а на том конце docglobalid - BIGINT и соотв запрос провалится.

есть предложения?
PM MAIL   Вверх
_and
Дата 25.6.2009, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-developer
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 6.8.2004
Где: Новокузнецк

Репутация: 1
Всего: 4



может попробовать воспользоваться аннотацией @Formula 
например 
Код

@Formula("obj_length * obj_height * obj_width")

PM MAIL ICQ Jabber   Вверх
kez
Дата 30.6.2009, 08:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



можно чуть подробнее?
PM MAIL   Вверх
_and
Дата 2.7.2009, 07:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-developer
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 6.8.2004
Где: Новокузнецк

Репутация: 1
Всего: 4



например делаешь такой маппинг 
Код

<hibernate-mapping>
  <class name="model.InnerDocument" table="DOCUM.DC_INNER_DOCUMENT">
    <id column="ID" name="id">
      <generator class="native"/>
    </id>

    <property name="docglobalid">
        <formula>next value for DOCUM.GUID</formula>
    </property>

    <property column="NUMBER" name="number"/>
    <property column="REGDATE" name="regDate"/>
    <property column="THEME" name="theme"/>
    <property column="INNETRTEXT" name="innerText"/>
    <many-to-one class="model.Employee" column="IDAUTHOR" name="author"/>
    <many-to-one class="model.Employee" column="IDFORWHO" name="forWho"/>
  </class>
</hibernate-mapping>

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

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

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


 




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


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

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