Например, у меня есть следующие таблицы:Hibernate: отображение вложенных объектов -EDITED-
USER:
| USERID | USERNAME | USERTYPEID |
USERTYPE:
| USERTYPEID | USERTYPENAME |
Таким образом, USERTYPEID является внешним ключом, который пользователь использует для обозначения типа пользователя. Реализация JAVA как таковой:
У меня есть пользовательский класс и класс UserType, где выглядит как:
public class User {
private int id;
private UserType ut;
....
}
public class UserType {
...
}
В User.hbm.xml:
<hibernate-mapping>
<class name="com.pretech.User" table="User">
<meta attribute="class-description">
This class contains the employee detail.
</meta>
<id name="id" type="int" column="UserID">
<generator class="native"/>
</id>
</class>
</hibernate-mapping>
Так мои вопросы следует:
1) что мне следует поместить на карту UserType
и указать UserType как внешний ключ?
2) В случае пользователя включает в себя список UserType
(не может концептуально верно, но просто хочу, чтобы использовать в качестве примера), такие как:
public class User {
private int id;
private List<UserType> uts;
}
что Шоуда я об отображении спящего режима?
EDIT: Добавлены сведения о внешнем ключевом материале.
Если оба 'user' и' user_type' представляют собой две разные таблицы, вы можете использовать прямое одно-много сопоставление. –
@ Rp- Это две разные таблицы, и как hibernate знает, что usertypeId в таблице пользователя является внешним ключом, ссылающимся на таблицу usertype? – jamesdeath123