[JPA] 조회 시 단일 데이터 보장

pk가 아닌 컬럼으로 조회한 경우, 기획한 내용을 바탕으로 생각하면 데이터가 하나가 나와야 하는데 그렇지 못하는 경우가 있다.

예를 들어, 찜한 데이터 목록을 불러올 때, itemIduserId를 조건으로 쿼리를 날렸을 때 데이터는 한 건이거나 없어야 한다.

20210920_1.png

하지만, 위 코드를 보면 연관관계가 걸려있을 뿐 어떠한 제약이 걸려있지 않기 때문에 queryDSL이나 JPA Repository 메서드를 사용하면 반환되는 자료형은 List이다.

그래서 unique 제약을 걸 필요가 있을 것 같다.

아래 참고 링크에 단일 컬럼, 이중 컬럼에 대한 unique 제약 조건을 JPA에서 사용하는 방법이 나와있다.

참고 자료