![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| 4epT |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: 3 Всего: 3 |
Здравствуйте! Изучаю Hibernate.... имеется такая структура таблиц: Факультет и Кафедра. То есть связь тут один ко многим (один факультет может иметь много кафедр).
Сущность факультет:
Сущность Кафедра:
Правильно ли я сделал мапинг ? Может в сущности факультета стоит добавить поле List<Chair> ? Буду признателен, если Вы напишите как бы вы это сделали =) Заранее спасибо! P.S. может у кого нибудь есть простой, но в тоже время профессиональный проект с применением hiberante ? буду рад поразбираться на его примере ) Это сообщение отредактировал(а) 4epT - 25.3.2011, 02:06 |
||||
|
|||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15719 Регистрация: 24.3.2004 Где: Dublin Репутация: 5 Всего: 538 |
Тебе видней. Напиши тест который будет читать/писать данные и сразу будет видно. Обычно - добавляют. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| 4epT |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: 3 Всего: 3 |
А анотации типа: @ManyToOne и подобные, ставятся на поля "объекты" или можно вешать и на индексы ? Я имею ввиду как правильно, понятно что можно повесить на любое поле ...
и еще в чем разница когда анотации вешают на get методы или на поле ? |
|||
|
||||
| Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 5 Всего: 191 |
||||
|
||||
| LSD |
|
||||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15719 Регистрация: 24.3.2004 Где: Dublin Репутация: 5 Всего: 538 |
Про какие индексы идет речь?
Разница в том, что будет использовать Хибернейт для чтения/запись данных в поле - прямой доступ к полю и аксесор. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
||||
|
|||||
| 4epT |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: 3 Всего: 3 |
Под индексом имеется ввиду колонка в таблицы БД. например у таблицы "Города" есть поле/колонка idCountry вот это я имею ввиду индекс =)
Можно сделать его int, и замапить ... либо сделать его именно объектом сущности Country. |
|||
|
||||
| Embedded |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 22.2.2011 Где: Россия Репутация: 1 Всего: 1 |
4epT,
Мне почему-то кажется, что когда вы делали описанные Вами в первом посте сущности, Вы думали о них как будто они таблицы в БД.
Отвыкайте от терминов типа колонка, пишите поле и id называйте id (идентификатор) для понятности. п.с. Может вам поможет сей пример как пользоваться Eclipse но попутно там рассказывается о двух сущностях, причем одна содержит другую http://www.ibm.com/developerworks/ru/edu/o...1/section5.html Это сообщение отредактировал(а) Embedded - 4.4.2011, 17:51 |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15719 Регистрация: 24.3.2004 Где: Dublin Репутация: 5 Всего: 538 |
Универсального ответа как поступать с таким связями - нет. Можно замапить энтити с ленивой подгрузкой (наиболее общеупотребительный способ), можно с жадной загрузкой (для небольших объектов, которые не имеют смысла без родительского), можно оставить ID-шники как есть, меньше проблем с кешированием и можно будет сэкономить на DTO -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| 4epT |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: 3 Всего: 3 |
А можно какой нибудь пример с ленивой подгрузкой ?) И чем чревато если вообще не делать такой мапинг ? а всеми такими связями рулить вручную .... =) |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15719 Регистрация: 24.3.2004 Где: Dublin Репутация: 5 Всего: 538 |
Примеры есть в доке по хиберу просто в @OneToMany добавится один элемент
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
![]()
|
| Правила форума "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. |