문제

나는 스프링 MVC / 스프링 데이터 / 몽고 DB 애플리케이션을 가지고있다. Spring 데이터 문서에 따라 내 환경을 정해졌으며 내 저장소가 잘 작동합니다 (조건대가있는 쿼리를 실행할 수 있음)

프로젝션을 수행하면서 Type Safe ure 쿼리 (Spring Data and QueryDSL 사용)를 실행할 수 있는지 궁금해하고있었습니다 (나는 매우 큰 문서의 몇 가지 필드 만 있기를 원합니다).

QueryDsl 문서는 최대 절전 모드에 대한 예제를 제공하지만 모든 모듈에서 수행 할 수있는 상태를 제공합니다 querydsl 문서 (그러나 나는 몽고로 그것을 수행하는 방법을 알 수 없었습니다)

Hibernate

코드 스 니펫이 있습니다.
class CustomerDTO {

  @QueryProjection
  public CustomerDTO(long id, String name){
     ...
 }

 QCustomer customer = QCustomer.customer;
 JPQLQuery query = new HibernateQuery(session);
 List<CustomerDTO> dtos = qry.from(customer).list(new QCustomerDTO(customer.id,    customer.name));     
.

아이디어가 있습니까?

도움이 되었습니까?

해결책

현재 지원되지 않습니다. Issue Tracker 에 티켓을 추가하십시오.

Querydsl의 루센 및 몽개 모듈은 쿼리 루트에서 직접적인 투사 만 지원하지만 사용자 정의 예측을 위해 무언가를 알아 낼 수 있습니다.

다른 팁

방금 다음과 같이 투사를 만들었습니다.

Criteria c1 = Criteria.where("field.name").is("val")
Criteria projection = Criteria.where("field").is(1)
BasicQuery query = new BasicQuery(c1.getCriteriaObject(), projection.getCriteriaObject())
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top