[JPA] 조회 시 단일 데이터 보장
[JPA] 조회 시 단일 데이터 보장
pk가 아닌 컬럼으로 조회한 경우, 기획한 내용을 바탕으로 생각하면 데이터가 하나가 나와야 하는데 그렇지 못하는 경우가 있다.
예를 들어, 찜한 데이터 목록을 불러올 때, itemId와 userId를 조건으로 쿼리를 날렸을 때 데이터는 한 건이거나 없어야 한다.

하지만, 위 코드를 보면 연관관계가 걸려있을 뿐 어떠한 제약이 걸려있지 않기 때문에 queryDSL이나 JPA Repository 메서드를 사용하면 반환되는 자료형은 List이다.
그래서 unique 제약을 걸 필요가 있을 것 같다.
아래 참고 링크에 단일 컬럼, 이중 컬럼에 대한 unique 제약 조건을 JPA에서 사용하는 방법이 나와있다.
참고 자료