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

momomoki·2025년 1월 6일
0

문제상황


에러전문 ⇒

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 필드가 동일한 Member 엔티티를 참조하고 있어서 중복 엔티티 에러가 발생했습니다. (이러한 에러가 발생하는 정확한 원인은 아직 파악 중입니다.) 이 문제를 해결하기 위해 각 엔티티에 별칭(alias)을 부여하여 중복을 제거한 수정된 버전을 살펴보겠습니다.

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

profile
얍얍엽엽욥욥

0개의 댓글

관련 채용 정보