#java #hibernate
#java #спящий режим
Вопрос:
Как я должен сопоставить однозначную связь между классами A и B в случае A.id != B.id (как предлагает hibernate для однозначной ассоциации), и я хочу иметь ассоциацию, подобную A.b_id = B.id вместо этого? Должно ли оно быть сопоставлено как много-к-одному (для) ассоциации? Двунаправленность не требуется.
Ответ №1:
Вам просто нужно указать имя столбца объединения в дополнение к OneToOne, и hibernate присоединится ко всему, что вы хотите.
@OneToOne
@JoinColumn(name="B_ID", referencedColumnName="ID")
private B b;
Обычный способ сопоставить его в XML — это уникальный формат «много к одному».
<many-to-one name="b"
column="b_id"
unique="true"/>
Комментарии:
1. хммм. как это выглядит в hbm.xml ?
2. afaik, есть атрибут column = «b_id», который вы можете добавить к «один к одному», но я не очень хорошо разбираюсь в гибернации на основе xml.
3. @Andrey : docs.jboss.org/hibernate/core/3.6/reference/en-US/html_single/… Справочное руководство по гибернации — лучшее место для поиска справочной информации о гибернации.