| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > Hibernate, many-to-many, проблема при сохранении? |
| Автор: unkis 11.12.2006, 18:45 | ||||||
| Ребята у меня следующая проблема: При сохранении в базу данных двух объектов имеющих между собой m:n отношения, не сохраняются данные в общую таблицу между этими двумя объектами, при этом сами объекты каждый в сою таблицу сохраняется. В моём случаи есть обекты Client 0..*-------------0..* Produkt После генерации в базе данных будет три таблицы: Cleint -----------client_produkt---------Produkt так вот в таблицу Client и Produkt данные сохраняются, а в client_produkt нет. Вопрос почему? вот мои маппинги. Client.hbm.xml
Produkt.hbm.xml
Сохраняю вот так
P.s: вопрос обсуждался в другом топику http://forum.vingrad.ru/topic-125708.html |
| Автор: tux 11.12.2006, 19:05 | ||
в Produkt.hbm.xml. Что получится? Не надо больше создавать дублирующиеся темы!!! |
| Автор: unkis 11.12.2006, 19:16 | ||
Извиняюсь но я не понимаю вопроса что значит?
|
| Автор: tux 11.12.2006, 19:59 | ||||
Берем вот это
заменяем вот это в Produkt.hbm.xml на то, что выше
Что в результате получилось? Заработало или нет? |
| Автор: unkis 11.12.2006, 20:30 |
| так не должно работать, так как у elemt List всегда должен быть атрибут <list-index column="idx_1"/>, так как list гарантирует порядок и hibernate должен об этом знать, и это возможно только при помощи <list-index column="idx_1"/>. По моему так стояло в документации, хотя сейчас попробую. Добавлено @ 20:32 как я и говорил не работает |
| Автор: tux 11.12.2006, 20:54 |
| А если list-index вернуть? |
| Автор: unkis 11.12.2006, 21:28 | ||||
| если вернуть list-index то получается следующий маппинг:
то есть практически то что у меня било за исключением отсутствия cascade="all". то выбрасивает следующую ошибку:
если верну cascade="all" то работает как и раньше |
| Автор: unkis 11.12.2006, 22:00 |
| ссылка откуда можно скачать мой проект здесь http://public.rz.fh-wolfenbuettel.de/~barvenko/hibernate/hibernate_proba.zip |
| Автор: v2v 14.4.2008, 18:15 | ||
| для unkis это уже наверное не актуально . но у меня вопрос по сабжу . данная проблема связана с атрибутом inverse=true
Books Authors (many-to-many) в классе Books есть метод setAuthors d классе Author есть метод setBooks выходит когда я убираю этот атрибут , то могу сохранять как с одной стороны , так и с другой, но с атрибутом я могу сохранять только с одной стороны , там где в мапинге не установлено inverse=true. |