У меня есть 2 модели: MySpringSecurityUser и Полномочия .
MySpringSecurityUser имеет поле Collection
, которое содержит Полномочия объекты.
@Entity
@Table(name="users")
public class MySpringSecurityUser implements UserDetails, Serializable{
...
@OneToMany(fetch = FetchType.EAGER)
@JoinTable
(
name="users_authorities",
joinColumns={ @JoinColumn(name="id_user")},
inverseJoinColumns={ @JoinColumn(name="id_authority") }
)
private Collection<Authorities> authorities;
...
}
Это моя база данных
С этим кодом все отлично работает.
Если я попытаюсьТакже сопоставьте объект Authorities, чтобы иметь поле, содержащее объект MySpringSecurityUser, я получаю дубликаты значений внутри MySpringSecurityUser.authorities.
Внутри MySpringSecurityUser.authorities Я получаю из таблицы присоединения users_authorities , также права доступа, связанные с другим пользователем (с другим id_user от текущего)
@Entity
@Table(name="authorities")
public final class Authorities implements GrantedAuthority{
...
@ManyToOne(fetch=FetchType.EAGER)
@JoinTable
(
name="users_authorities",
joinColumns={ @JoinColumn(name="id_authority",insertable = false,
updatable = false)},
inverseJoinColumns={ @JoinColumn(name="id_user",insertable = false,
updatable = false) }
)
private MySpringSecurityUser mySpringSecurityUser;
...
}
В чем моя ошибка?Спасибо за вашу помощь