Как в одной таблице иметь несколько foreign keys?
Есть две отдельные таблицы. Они в себе содержат ссылки пользователя на роль или полномочие.
Я ловлю ошибку, когда пытаюсь объединить ее в одну таблицу 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;
Источник: Stack Overflow на русском