![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Gaudi |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 18.3.2007 Репутация: нет Всего: нет |
Совсем простая схема:
таблица Student ( student_id integer, - primary key name varchar (100), lastname varchar(100) ) таблица Address ( student_id integer, - primary key street varchar(100), dom integer, kvartira integer ) связь one-to-one по полю student_id
Помогите настроить маппинг <one-to-one>, уже почти сутки бъюсь :( |
||||
|
|||||
Vasay |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 18 Всего: 73 |
Gaudi,
1. В коде класса Address, должен быть, наверно addressId ? 2. если у Вас нет аннотаций, значит настраиваете через XML. А что ж Вы его тогда не привели? Как мы должны догадываться, где вы что не так настраиваете? Или Вы ждете что Вам тут готовый год напишут? 3. http://lmgtfy.com/?q=hibernate+one+to+one+example - первый же результат - ваш пример со студентами и адресом. -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
Gaudi |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 18.3.2007 Репутация: нет Всего: нет |
1. Нет, именно studentId, связь по первичному ключу
2. Student.hbm.xml
Address.hbm.xml
3. По ссылке связь по внешнему ключу, мне хотелось бы ассоциацию по первичному Это сообщение отредактировал(а) Gaudi - 3.5.2010, 17:09 |
||||
|
|||||
AndrewMormysh |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 8.2.2008 Репутация: нет Всего: 1 |
что это за связь по первичному ключу? у вас, уважаемый, получается так, что "у Адреса есть Студент"
![]() |
|||
|
||||
Vasay |
|
||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 18 Всего: 73 |
Вполне реальная ситуация, если это база общежития, а точность адреса дана до койко-места ![]() А если серьезно - пример весьма неудачный, ибо в реальной жизни обычно, по одному адресу проживает не один человек. И более подходящая модель - это "one to many" - когда у студента есть адрес, а у адреса list студентов. но, вернемся к one to one. В жизни, связка используется не часто. Если в качестве примера взять упомянутую выше общагу, где есть две таблицы 1. КойкоМесто с полями койкоМесто_id корпус этаж номер комнаты номер кровати студент 2. Студент койкоМесто_id имя фамилия отчество ...... койкоМесто Вот в данном случае, так как база у нас общежития, первичен адресс (койко-место), а студенты - вторичны, так как по мере отчисления получения диплома - съезжают, уступая место новым. Маппинг примерно такой:
-------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
||||||
|
|||||||
Старовъръ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 8.5.2008 Репутация: 1 Всего: 10 |
Кто-нибудь когда-нибудь использовал one-to-one в реальном проекте? Я как-то набил шишку и больше его никогда не использую - заменяю на one-to-many чего и ТС советую
![]() -------------------- |
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |