2020-02-29 13:01:14.008 DEBUG 5200 --- [nio-8083-exec-2] org.hibernate.SQL : insert into users_roles (role_id, user_id) values (?, ?)
2020-02-29 13:01:14.009 TRACE 5200 --- [nio-8083-exec-2] o.h.type.descriptor.sql.BasicBinder : binding parameter [1] as [INTEGER] - [2]
2020-02-29 13:01:14.009 TRACE 5200 --- [nio-8083-exec-2] o.h.type.descriptor.sql.BasicBinder : binding parameter [2] as [BIGINT] - [5]
2020-02-29 13:01:14.010 DEBUG 5200 --- [nio-8083-exec-2] org.hibernate.SQL : insert into users_roles (user_id, role_id) values (?, ?)
2020-02-29 13:01:14.010 TRACE 5200 --- [nio-8083-exec-2] o.h.type.descriptor.sql.BasicBinder : binding parameter [1] as [BIGINT] - [5]
2020-02-29 13:01:14.010 TRACE 5200 --- [nio-8083-exec-2] o.h.type.descriptor.sql.BasicBinder : binding parameter [2] as [INTEGER] - [2]
2020-02-29 13:01:14.025 WARN 5200 --- [nio-8083-exec-2] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 1062, SQLState: 23000
2020-02-29 13:01:14.025 ERROR 5200 --- [nio-8083-exec-2] o.h.engine.jdbc.spi.SqlExceptionHelper : Duplicate entry '5-2' for key 'PRIMARY'
2020-02-29 13:01:14.027 INFO 5200 --- [nio-8083-exec-2] o.h.e.j.b.internal.AbstractBatchImpl : HHH000010: On release of batch it still contained JDBC statements
2020-02-29 13:01:14.072 WARN 5200 --- [nio-8083-exec-2] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.dao.DataIntegrityViolationException: could not execute statement; SQL [n/a]; constraint [PRIMARY]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statement]
Список полномочий внутри сущности USER
@ManyToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.DETACH, CascadeType.REFRESH}, fetch = FetchType.EAGER)
@JoinTable(name = "users_roles",
joinColumns = @JoinColumn(name = "user_id"),
inverseJoinColumns = @JoinColumn(name = "role_id"))
@JsonIgnore
private Set<Authority> authorities = new HashSet<>();
Пользователи Список внутри сущности полномочий
@ManyToMany(cascade = { CascadeType.MERGE, CascadeType.DETACH, CascadeType.REFRESH}, fetch = FetchType.LAZY)
@JoinTable(name = "users_roles",
joinColumns = @JoinColumn(name = "role_id"),
inverseJoinColumns = @JoinColumn(name = "user_id"))
private Set<User> users = new HashSet<>();
Я понимаю, что когда я сохраняю сущность USER, сущность AUTHORITY внутри также получает сохранено, что опять-таки спасает сущность ПОЛЬЗОВАТЕЛЯ и вот что вызывает неприятности. Как я могу обойти это? Заранее спасибо!