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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Hibernate и сохранение коллекций 
:(
    Опции темы
kkorsakoff
Дата 26.9.2006, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Помогите составить правильный мэппинг.

Сохраняю объект Clickstream. По сути представляет собой описание кликов по сайту в пределах одной сессии. Класс не мой, не имеет никакого ID.
Для использования с Hibernate создал класс обертку DatabaseClickstream, добавляющий Long id.

Код

    <class name="com.clivetor.pws.pwsadmin.data.DatabaseClickstream" table="clickstreams">

        <id name="id" column="id">
            <generator class="native"/>
        </id>


        <property name="hostname" column="host"/>
        <property name="initialReferrer" column="initial_referer"/>
        <property name="lastRequest" column="last_click_timestamp" type="timestamp"/>
        <property name="start" column="first_click_timestamp" type="timestamp"/>

        <set name="stream" table="clickstream_clicks"
             cascade="save-update,lock">
            <key column="clickstream_id"/>
            <one-to-many class="com.opensymphony.clickstream.ClickstreamRequest"/>
        </set>


    </class>



Все бы хорошо, да класс Clickstream имеет свойство List stream (собственно клики, содержат хост, порт, урл, время и т.д.)

Вот с этим и проблема, не пойму как мне замэппить его.
То есть надо сконфигурировать так, чтобы в таблицу clickstream_clicks писалось что-то вроде

| clickstream_id | click_id | ....остальные свойства ClickstreamRequest

Как сделать, чтобы при записи каждого нового объекта DatabaseClickstream нумерация click_id начиналась с нуля. Это что-ж за generator такой?


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


Account removed
***


Профиль
Группа: Экс. модератор
Сообщений: 1611
Регистрация: 14.8.2002

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



Цитата(kkorsakoff @  26.9.2006,  07:43 Найти цитируемый пост)
Как сделать, чтобы при записи каждого нового объекта DatabaseClickstream нумерация click_id начиналась с нуля. Это что-ж за generator такой?

Выкини нафик генератор и заполняй поле вручную. Это при условии если значения этого поля повторятся не будут. В противном случае надо будет добавить ещё одну проперть и в нее писать значения.


--------------------
Account removed
PM MAIL   Вверх
kkorsakoff
Дата 29.9.2006, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



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

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

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


 




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


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

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