![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Grelloo |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 153 Регистрация: 18.3.2006 Где: г. Екатеринбург Репутация: нет Всего: нет |
Исходные данные: есть долгоживущий класс Honey, класс инициализирующий sessionFactory и сам клиент, которые записывают таблицу honey в базу данных Mysql.
Долгоживущий класс Honey.java
Файл InitSessionFactory.java
Ну и непосредственно клиент
Проблема: если я убираю комментарии в TestExample, то все работает (таблица заполняется нужными значениями, выборка работает, нужные значения удаляются). Если же я снова ставлю комментарии, то TestExaple запускается, но при это таблица оказывается пустой. Что можно сделать? Это сообщение отредактировал(а) tux - 8.4.2006, 03:08 |
||||||
|
|||||||
tux |
|
|||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
Уже второй топик с одним и тем же, первый был от WhiteDream здесь - http://forum.vingrad.ru/index.php?showtopic=90006. Киньте в конец концов ссылку откуда вы этот пример берете, у меня все работает. Правда здесь непонятно каким образом используется JTA (метод getCurrentSession()).
В общем, ссылку, а также hibernate.cfg.xml, текст маппингов и описание того как разворачивается приложение в студию. |
|||
|
||||
Grelloo |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 153 Регистрация: 18.3.2006 Где: г. Екатеринбург Репутация: нет Всего: нет |
Ссылочка вот, все полностью расписано
http://www.laliluna.de/first-hibernate-example-tutorial.html Вот тексты маппингов: Honey.hbm.xml
hibernate.cfg.xml
Все это закидываю в NetBeans, подключаю библиотеки hibernate 3.1.1, создаю базу firsthibernate и запускаю. |
||||
|
|||||
tux |
|
|||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
Ответ оказался прост, я то думал какие-то проблемы с обработкой транзакций. На самом деле все дело вот в этом свойстве, которое у тебя указано в hibernate.cfg.xml:
Значение create говорит о том, что таблица должна быть создана при инициализации hibernate. Каждый раз при запуске приложения таблица удаляется и создается заново, естественно совершенно пустая. Если выполнять код с закомментированными строками, то таблица пустой и остается. Теперь о том как решить проблему. Либо удали это свойство совсем либо поменяй значение свойства на update, тогда hibernate будет проверять наличие таблицы и ее соответствие маппингу и, если таблица существует, удалять и создавать ее заново не будет. Есть еще два возможных значения: validate (проверяет наличие таблицы и если ее нет генерирует исключение) и create-drop (таблица создается при инициализации hobernate и удаляется во время завершения приложения). Та же самая проблема у WhiteDream. Интересно, что в исходниках, которые приведены на самой странице по ссылке такого свойства нет и все замечательно работает, зато есть в архиве с исходниками. ![]() Еще одно замечание. Хотя у товарища автора указано, что используется Hibernate версии 3.x, с версиями ниже 3.1 пример работать не будет. Это сообщение отредактировал(а) tux - 9.4.2006, 06:05 |
|||
|
||||
Grelloo |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 153 Регистрация: 18.3.2006 Где: г. Екатеринбург Репутация: нет Всего: нет |
Спасибо, все работает. Сделал два вывода: быть осторожней со всякими quickstart и читать документацию надо с самого начала и в оригинале.
Да, еще вопрос, по поводу Axis, есть для него что-нибудь как для hibernate книга "Hibernate in Action". То есть нормальная книжка в которой подробно все расписано. Я конечно начал уже смотреть user guide и прочитал темы по созданию веб-сервисов (вашу и Domestic Cat), но все же хотелось бы чем-нибудь запастись ![]() Думаю для этого новый топик делать пока не стоит. |
|||
|
||||
tux |
|
|||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
Практически вся существующая литература по Axis указана на сайте проекта вот здесь: http://ws.apache.org/axis/java/reading.html.
|
|||
|
||||
umen |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 11.11.2006 Репутация: нет Всего: нет |
Даже в оригинале - в примере, который поставляется с Hibernate, в конфигурационном файле указано
а запускается пример командами ant run -Daction=store //тут база заполняется тестовыми значениями или ant run -Daction=list //тут тетстовые значения выводятся на экран Так вот если запустить первую команду, то в базе появляется запись, а после запуска второй команды на экран ничего не выводится, так как при запуске база пересоздаётся! Хотел было уже создавать новую тему по этому поводу, но вовремя воспользовался поиском ![]() |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |