[Spring] DataIntegrityViolationException: could not execute statement [Duplicate entry ‘1’ for key…]
문제 상황
User
와 Rank
정보가 포함된 데이터를 DB에 반영하는 업데이트 쿼리를 날리는 과정에서 다음 에러가 발생했다.
org.springframework.dao.DataIntegrityViolationException: could not execute statement
[Duplicate entry '1' for key 'rank.UK_4av3yjnher33aw0bfhrlvcjq0']
[insert into `rank` (mall_id,user_id,view,rank_id) values (?,?,?,?)]; SQL
[insert into `rank` (mall_id,user_id,view,rank_id) values (?,?,?,?)];
constraint [rank.UK_4av3yjnher33aw0bfhrlvcjq0]
해결 방법
User
와 Rank
연관관계를 1:N으로 설정해야 했는데 1:1로 잘못 설정해놓고 1:N에 맞는 쿼리를 날리고 있어서 발생한 문제였다.
@OneToOne
에서 @OneToMany
, @ManyToOne
으로 설정해주니 해결할 수 있었다.
댓글남기기