QueryDSL에서 같은 Entity를 사용하여 조회할 때 중복 Entity 에러

momomoki·2025년 1월 6일

문제상황


에러전문 ⇒

java.lang.NumberFormatException: For input string: "org.hibernate.query.sqm.AliasCollisionException: Alias [member1] used for multiple from-clause elements :

SqmSingularJoin(com.kj.codyBoards.codyBoard.entiry.CodyBoard(codyBoard).member(member1) : member),

SqmSingularJoin(com.kj.codyBoards.codyBoard.entiry.CodyBoard(codyBoard).codyBoardComments(codyBoardComment).

{element}.member(member1) : member)"

at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67) ~[na:na]

문제해결

CodyBoard 엔티티의 member 필드와 CodyBoardComment 엔티티의 member 엔티디가 두번 들어가서 같은 Alias로 인식해서 오류가 발생했습니다. 이 문제를 해결하기 위해 각 엔티티에 별칭(alias)을 부여하여 중복을 제거한 수정된 버전을 살펴보겠습니다.

첫줄에 Member 엔티티를 위한 별칭을 새롭게 선언했습니다. QMember 변수를 추가로 선언하여 Member 엔티티의 중복 참조 문제를 해결하고, 데이터 조회에 성공했습니다.

profile
얍얍엽엽욥욥

0개의 댓글