![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| firedrago |
|
||||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 22.9.2005 Репутация: 1 Всего: 3 |
Всем привет,
вот сново столкнулся с проблемой и очень прошу о помощи....... есть ряд самостоятельных объектов B и C, и объект А который объединяет объекты B и С. B и С могут быть null. Объект X - это некий item который может быть только в оном экземпляре в Sete. Для дальнешего понимания - Hibernate Session -только одна через pool.
Теперь следующий сценарий - шаг 1) есть объект B B->items->X->id = 1 B->items->X->value = true B->items->X->id = 2 B->items->X->value = false B->items->X->id = 3 B->items->X->value = true он создан - записан в базу - все ок шаг 2) создаем объект А A->id =1 добовляем в него объект В записываем -> все ок шаг 3) вытаскиваем объект А session.load(A.class, "1") - все ок а теперь самое интересное - надо создать объект С добавить в него все объекты Х из объекта В где value = true ( id = "1" и "3") вариант:
кречит что объект уже ассоциирован с этой сессией и естественно не работает вариант: C c= new C();
как сделать с двумя сессиями я знаю....но в моем случае вторую сессию очень сложно сделать... где-то вычитал что как-то через session.merge() сделать можно - но как что-то я понять не могу как merge() правильно пользоваться..... ну вобщем вот и вопрос - как это сделать с одной сессией....... зарание благодарен! Это сообщение отредактировал(а) firedrago - 4.9.2007, 23:13 |
||||||||
|
|||||||||
| firedrago |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 22.9.2005 Репутация: 1 Всего: 3 |
неужели никто не сталкивался ?!
все идеи ОЧЕНЬ приветствуются! |
|||
|
||||
| Aoli |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 24.1.2007 Репутация: -1 Всего: 0 |
А что говорит если писать так:
|
|||
|
||||
| firedrago |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 22.9.2005 Репутация: 1 Всего: 3 |
спасибо,
я разобрался - причины у меня как выяснилось - 2 1. надо больше спать... 2. быть более внимательным... а если серъезно то 1. в вышеприведенном примере в строке <many-to-one name="items" class="X" column="X_ID"/> надо было бы указать правильный cascade 2. в моем приложении не был инициализирован Set, тоесть как в примере (Set<X> items = new HashSet<X>();) new HashSet не был вписан..... что мне не очень понравилось hibernate не выдал никаких exception..... а так всем спасибо за внимание! Это сообщение отредактировал(а) firedrago - 7.9.2007, 15:53 |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |