![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
garbuz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 677 Регистрация: 22.1.2008 Репутация: 8 Всего: 11 |
Здраствуйте!
Я только начал осваивать Hibernate. Написал простенький пример: Описал для своего класса файл MyClass.hbm.xml, описал файл конфигурации. После создания и открытия сессии создаю объект своего класса, через методы set устанавливаю поля. Объект заносится в базу. Все вроде работает. Сразу появилось несколько вопросов (уверен, что дальше их количество увеличится ![]() 1) В каких случаях надо использовать маппинг для классов (имею ввиду файлы .hbm.xml), а в каких аннотации (@Table, @Id etc). И какая разница между тем и другим подходом. 2) В своем простом примере я занес объект в базу через сеттеры. При этом у меня отстутствуют sql-запросы вообще. А если мне потребуется выбрать объект по каким-то заданным параметрам? Запрос ведь необходим? Hibernate же не исключает запросы как факт. Вопрос тогда в каком виде и куда их писать? Как вызывать? 3) Когда пишу файл вида hbm.xml как в нем организовать связь между таблицами, желательно примерчик один ко многим и многие ко многим ![]() Заранее спасибо за ответы. Думаю у меня еще будет много вопросов ![]() |
|||
|
||||
taro |
|
|||
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 29.8.2007 Репутация: нет Всего: нет |
1. нет особых случаев. Это просто два разных варианта
2. для запросов по параметрам есть соответствующие методы, принимающие, кроме класса, дополнительные параметры. Для создания запросов "высоким штилем" читай доку по HQL. Кроме того, можно использовать и нативный SQL 3 пример кода. Необходимо понимать, что в представлении ORM речь идет не о связи между таблицами, а о связи между объектами. |
|||
|
||||
garbuz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 677 Регистрация: 22.1.2008 Репутация: 8 Всего: 11 |
1) Т.е. я сам могу выбрать что использовать, и одно и другое правильно работает просто по-разному описывается. Правильно я понял?
2) Буду разбираться, желательно скиньте плз ссылочку об этом, если есть на русском, то вообще хорошо ![]() 3) Вроде как понял ![]() |
|||
|
||||
iluvatar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 266 Регистрация: 17.9.2007 Репутация: 4 Всего: 4 |
Вот официальная дока. На английском, конечно, но в нашем деле по другому никак. По поводу сложных запросов - смотри в сторону Criteria и HQL. И примеры меппинга там тоже очень хорошо написаны.
|
|||
|
||||
powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 28 Всего: 159 |
Модератор:
1) Один топик - один вопрос. 2) Название темы должно отражать её суть. 3) Правила форума тут: http://forum.vingrad.ru/index.php?act=boardrules Тема закрыта. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |