Повторяющиеся объекты при использовании двунаправленного отображения (OneToMany & ManyToOne) - PullRequest
0 голосов
/ 17 октября 2018

У меня есть 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;    
...
}

Это моя база данных

enter image description here

С этим кодом все отлично работает.

Если я попытаюсьТакже сопоставьте объект 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;   
   ...
}

В чем моя ошибка?Спасибо за вашу помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...