Для того, чтобы создать связь между двумя объектами/таблицами, необходимо определить тип отношений вы хотите, чтобы представить, что ли является один-к-одному, один-ко-многим, многие к одному или многие-ко-многим.
Для вашего случая использования между User
и Role
, это обычно многие-ко-многим, поскольку пользователь связан со многими ролями и роль может быть связано со многими разными пользователями.
User.java:
@Entity
public class User {
/* other things */
@ManyToMany
@JoinTable(name = "user_roles")
private List<Role> roles;
}
Role.java
@Entity
public class Role {
@ManyToMany(mappedBy="roles")
private List<User> users;
}
В этом конкретном примере, отношения принадлежит User
beacuse, как правило, вы бы роли создается отдельно, а затем вы ассоциировать пользователя к набору ролей.
Существуют различные онлайн-уроки, которые вы можете выполнить. http://www.javatpoint.com/hibernate-with-annotation http://coderevisited.com/beginning-jpa-2-0/ –