![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: нет Всего: 57 |
пример по hibernate
там первое поле id и в xml оно определяется так:
У меня в базе поле userId(в базе самой как user_id), тип Integer Пытался вместо id писать выше userId, но он ругается. Обязательно чтоли первое поле должно быть id? -------------------- менеджер по кодеврайтингу ![]() |
|||
|
||||
tux |
|
||||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
Конечно, не обязательно. В твоем случае должно быть так:
или, например, так:
А что именно говорит Hibernate в плане ругани? |
||||
|
|||||
Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: нет Всего: 57 |
Да нет, все понятно, сейчас это уже не важно ![]() P.S. Модераторы??? Не пойму почему моя тема перешла в J2EE, концептуально, Hibernate предназначается для работы с БД, или его кроме как в web-приложении невозможно использовать? Вроде бы я не видел такого ограничения. ![]() -------------------- менеджер по кодеврайтингу ![]() |
|||
|
||||
tux |
|
|||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
||||
|
||||
Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: нет Всего: 57 |
-------------------- менеджер по кодеврайтингу ![]() |
|||
|
||||
Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: нет Всего: 57 |
Хотел бы еще уточнить один момент, так как в примере все очень стандартно. в базе у меня поля типа mediumint(8) unsigned NOT NULL default '0', так вот в xml-файле достаточно написать mediumint(8) или надо полностью?
-------------------- менеджер по кодеврайтингу ![]() |
|||
|
||||
tux |
|
|||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
Достаточно одно типа поля, то есть mediumint(8). Но, вообще говоря, sql-type в маппинге нужно писать только если ты хочешь изменить дефолтное соответствие между типом данных Hibernate и типом данных СУБД. У меня такой необходимости ни разу не возникало, Hibernate сам разбирается
![]() |
|||
|
||||
Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: нет Всего: 57 |
еще один вопрос: в примере написано
я подключил библиотеки hibernate3.jar, hibernate3-src.jar, ant-1.6.3.jar, ant-antlr-1.6.3.jar, ant-junit-1.6.3.jar, ant-launcher-1.6.3.jar, antlr-2.7.5H3.jar, ant-swing-1.6.3.jar, asm.jar, asm-attrs.jar, c3p0-0.8.5.2.jar, cglib-2.1.jar, cleanimports.jar, commons-collections-2.1.1.jar, commons-logging-1.0.4.jar, concurrent-1.3.2.jar, connector.jar, dom4j-1.6.jar, ehcache-1.1.jar, jaas.jar, jacc-1_0-fr.jar, jaxen-1.1-beta-4.jar, jboss-cache.jar, jboss-common.jar, jboss-jmx.jar, jboss-system.jar, jdbc2_0-stdext.jar, jgroups-2.2.7.jar, jta.jar, junit-3.8.1.jar, log4j-1.2.9.jar, oscache-2.1.jar, proxool-0.8.3.jar, swarmcache-1.0rc2.jar, versioncheck.jar, xerces-2.6.2.jar, xml-apis.jar - две из корневика остальные из либа, как было написано, однако он ругается на import net.sf.hibernate.Hibernate; import net.sf.hibernate.Session; import net.sf.hibernate.SessionFactory; import net.sf.hibernate.cfg.Configuration; у меня версия 3.0 может там еще какие джары надо поключить? Это сообщение отредактировал(а) Bulat - 13.7.2006, 09:40 -------------------- менеджер по кодеврайтингу ![]() |
|||
|
||||
tux |
|
|||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
В версии 3.0 пакеты поменялись с net.sf.hibernate на org.hibernate. Пример у тебя видимо для 2.1 или ниже. Если поменять имена пакетов и заголовки файлов маппингов, то все должно работать (теоретически).
|
|||
|
||||
Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: нет Всего: 57 |
tux,
И еще моментик при поиске данных используется метод:
А именно на метод List list = sess.find(query, name, Hibernate.STRING); Я так понимаю тут тоже надо что-то другое использовать? -------------------- менеджер по кодеврайтингу ![]() |
|||
|
||||
tux |
|
|||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
||||
|
||||
Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: нет Всего: 57 |
tux, и давай добьем все это запросом, там значит идет такой:
select product from product in class test.hibernate.Product where product.name=:name Вот подчеркнутое место мне не совсем понятно.... ![]() -------------------- менеджер по кодеврайтингу ![]() |
|||
|
||||
tux |
|
|||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
Первый раз вижу такой синтаксис, будет время, попробую. Можно сделать проще:
Заметь, это полный текст запроса, select не обязателен. |
|||
|
||||
Bulat |
|
||||||||||||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: нет Всего: 57 |
tux, очень сильно ругается:
структура проекта:
класс контейнер:
hibernate.properties:
вот что он мне пишет
надо вообщем найти юзера по полю user_id(в базе) - userId(соотв. в кодах), где userId=28308 ![]() ![]() ![]() Это сообщение отредактировал(а) Bulat - 13.7.2006, 12:37 -------------------- менеджер по кодеврайтингу ![]() |
||||||||||||
|
|||||||||||||
tux |
|
||||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
Ну дык он файл с маппингом найти не может. Положи его (LoginsData.hbm.xml) в CLASS-PATH вместе с классом, тогда увидим следующую ошибку.
![]() Вообще рекомендовал бы конфигурировать Hibernate используя hibernate.cfg.xml, это просто удобнее. Выглядеть он должен примерно так:
hibernate.cfg.xml надо положить в корень CLASS-PATH, hibernate.properties оттуда убрать. Ну и все маппинги должны лежать по какому-то пути в CLASS-PATH, у тебя, например, в Interface/HorseHerald. Конфигурирование тогда совсем простое:
|
||||
|
|||||
![]() ![]() ![]() |
Правила форума "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. |