| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java tools & IDE's > Hibernate и Ant, генерация базы данных? |
| Автор: unkis 6.12.2006, 23:42 | ||||||||||||
| Ребята, помогите. Есть hibernate мапинг файлы, при помощи ANT из них пытаюсь с генерировать базу данных. Некоторые таблицы он генерирует, а на некоторые выскакивает вот такая вот ошибка.
вот мой кусок из Аnt.
вот мои мэпинг файлы. Auktion.hbm.xml
Client.hbm.xml
Gebot.hbm.xml
Produkt.hbm.xml
почему происходит это ошибка и как её исправить? |
| Автор: tux 7.12.2006, 00:08 | ||||
Ошибка номер 3. У тебя генератор для идентификатора задан как native. Видимо для той СУБД, которую ты используешь, это означает, что идентификатор будет инкрементным числовым полем. При этом тип идентификатора - String. Hibernate ведь тебе пишет запросы, в которых произошла ошибка, там написано:
Тип ebayid явно некорректен (или некорректен тип генератора). Ошибки 4 и 5 вываливаются из-за ошибки 3 - таблица produkt не была создана. Ошибки 1 и 2 вываливаются в запросах, которые пытаются удалить внешние ключи, создаваемые в тех запросах, которые вываливают ошибки 4 и 5. Скрипт сначала пытается удалить схему поскольку у тебя в скрипте Ant написано:
В общем, поправь тип атрибута в маппинге и классе produkt и все должно быть okейно. |
| Автор: unkis 7.12.2006, 16:47 | ||||||||
| спасибо заработало, только теперь не могу протестировать пытаюсь сделать это так:
а он мне вот такую вот ошибку
Вчём проблема и как мне это исправить? Добавлено @ 16:52 теперь сделал вот так
теперь пишет что
хотя hibernate.cfg.xml лежит в коневой папке. ничего не понимаю. помогите |
| Автор: tux 7.12.2006, 17:03 |
| hibernate.cfg.xml должен лежать в корне CLASS-PATH. Это так? |
| Автор: unkis 7.12.2006, 17:11 | ||||
| да, он там и лежит. я сделал вот так вот
и оно проглотило но теперь следующая ошибка
Опять же тот же вопрос, почему и как её исправить? P.s: Вы меня извините если мои вопросы окажутся глупыми, просто я только учусь |
| Автор: tux 7.12.2006, 17:15 |
| Прежде чем сохранять объект client надо сохранить объект auktion. |
| Автор: unkis 7.12.2006, 17:22 | ||||
| а я думал что я сохраняю один объект, а он за собой гамузуом сохраняет всё остальное. оказывается не так, а жаль Добавлено @ 17:28 спасибо сохраняю с начало auktion
но теперь выдаёт следующую ошибку
а это что такое? |
| Автор: tux 7.12.2006, 17:33 |
А остальные объекты тебе не надо сохранять? Поиграй с их сохранением. |
| Автор: unkis 7.12.2006, 17:45 | ||||
| Получается следующее. Сам Produkt я могу сохранить только в том случаи если он содержит обычные типи данных и не содержит Client. Тоже самое из Client, но чтобы сохранить их вместе то есть так вот
то выскакивает таже ошибка что и выше.
в чём же всё-таки проблема? |
| Автор: tux 7.12.2006, 17:50 |
Поиграй с атрибутом cascade у тэгов <list>. Сейчас у тебя там none, это означает что в случае сохранения родительского объекта объекты, находящиеся в списке сохраняться не будут. Попробуй другие значения. Возможно в этом проблема, а возможно и нет. |
| Автор: unkis 7.12.2006, 18:16 | ||||||||
| пытаюсь сделать это хотя бы на двух классах: Client и Produkt, получается что Produkt имеет объект Client добавил в мапинг cascade="all,delete-orphan" Produkt.hbm.xml
Client.hbm.xml
пробую вот также
но всё тоже самое, таже ошибка
может быть ещё какие-нибудь предложения? |
| Автор: tux 7.12.2006, 18:19 |
Нет. Чтобы узнать в чем причина надо все это дело разворачивать. Будет время, посмотрю. |
| Автор: unkis 7.12.2006, 18:25 |
| Спасибо большое, будем ждать. |
| Автор: unkis 9.12.2006, 13:52 |
| ура я понял в чем проблема надо было добавить не только cascade=true, но и invers = true И тогда он не ругается, теперь только не понятно, почему в таблице client_produkt ничего не сохраняется? Ведь он должен туда сохранить id- Produkt и id-Client. Почему этого не происходит? |