작성
·
308
0
안녕하세요 질문이 있습니다.
기존 존재하는 컬럼을 변경하면 안되는 DB에 접속해서 사용을 하고 있습니다.
team-member 일대다 관계이고 team 정보를 가져올때 member정보를 리스트로 가져오려고 합니다.
@Entity
public class team {
@JoinColumn(name = "team_id")
private List<member> members;
}
DTO를 따로 선언해서 가져옵니다.
QueryResults<TeamResponse> results = queryFactory
.select(new QTeamResponse(
team.members
))
.from(team)
그런데 에러가 발생하였습니다.
위의 에러가 떠서 확인을 하였더니 member 클래스가 @Embeddable입니다. 이 문제때문에 위 에러가 발생하는것 같습니다. @Entity로 선언하자니 PK가 있어야한다는데 변경할수는 없고
어떻게 해야 리스트를 가져올수 있을가요? 리스트를 제외했더니 에러없어 잘 가져오는걸 보니 리스트 문제가 맞습니다.
답변 1
0
안녕하세요. 빈센트님
우선 Member 클래스는 @Embeddable이면 안되고, 엔티티여야 합니다.
그리고 JPA에서는 (Querydsl 포함) from절은 항상 엔티티로 시작해야 합니다. Embeddable은 엔티티의 대상이 될 수 없습니다.
감사합니다.