[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으로 설정해주니 해결할 수 있었다.
 
      
댓글남기기