Как в одной таблице иметь несколько foreign keys?

Рейтинг: 0Ответов: 0Опубликовано: 09.06.2023

Есть две отдельные таблицы. Они в себе содержат ссылки пользователя на роль или полномочие.

Я ловлю ошибку, когда пытаюсь объединить ее в одну таблицу users_authorities

 user_id | role_id | permission_id                                                                                              
---------+---------+---------------                                                                                             
       1 |       1 |             1  

Ошибка - org.postgresql.util.PSQLException: ОШИБКА: значение NULL в столбце "role_id" отношения "users_authorities" нарушает ограниче ние NOT NULL Подробности: Ошибочная строка содержит (9, null, 1).

Я точно определил, что в метод репозиторий уходит пользователь с заполненными данными.

Почему появляется null?

Код по созданию отношения:

  @ManyToMany()
  @JoinTable(name = "users_authorities",  joinColumns = @JoinColumn(name = "user_id"), inverseJoinColumns = @JoinColumn(name = "role_id"))
  private Collection<Role> roles;

  @ManyToMany()
  @JoinTable(name = "users_authorities", joinColumns = @JoinColumn(name = "user_id"), inverseJoinColumns = @JoinColumn(name = "permission_id"))
  private Collection<Permission> permissions;

Ответы

Ответов пока нет.