엔티티에서 데이터를 가져 오기 위해 프로젝션을 사용하려고합니다. 하나. 투영에 대한 생성자는 세 가지 인수를 취합니다. 집합, 정수 및 다른 정수. 인수로 설정을하지 않으면이 모든 것이 잘 작동하지만 집합을 추가하자마자 SQL 구문 쿼리 오류가 발생하기 시작합니다. 여기 QueryDSL 프로젝션의 컬렉션
이가 난 무엇의 단순화 된 버전이기 때문에 여기에@Entity
public class Resource {
private Long id;
private String name;
private String path;
@ManyToOne
@JoinColumn(name = "FK_RENDITION_ID")
private Rendition rendition;
}
@Entity
public class Document {
private Long id;
private Integer pageCount;
private String code;
}
@Entity
public class Rendition {
Long id;
@ManyToOne
@JoinColumn(name="FK_DOCUMENT_ID")
Document doc;
@OneToMany(mappedBy="rendition")
Set<Resource> resources;
}
public class Projection {
@QueryProjection
public Projection(Set<Resource> resources, Integer pageCount, String code) {
}
}
내가 사용하고 무엇을 같은 쿼리 (정확히 동일하지 않습니다 ... 내가 함께 일하고 있어요 무엇의 예입니다 ...)
이 프로젝션 클래스에는 rendition.resources가없는 한 정상적으로 작동합니다. 나는 시도하고 그에 추가하면, 내가이 시작 있도록 출력의 SQL을 변경 (잘못된 SQL 오류를 받기 시작.
select . as col_0_0_
을 그래서, 여기 내 주요 질문은 내가 설정 등을 포함 어떻게 것 같다 투사의 목적은? 가능, 아니면 그냥 잘못 여기서 뭔가를하고있는 중이 야? 예측에 컬렉션을 사용