2016-03-22 32 views
1

Aşağıdaki kod var:QueryDSL uniqueResult() tanımlanmamış

import com.querydsl.jpa.impl.JPAQuery; 
... 
QCustomer customer = QCustomer.customer; 
JPAQuery query = new JPAQuery(entityManager); 

Customer result = query.from(customer) 
        .where(customer.firstName.eq("Bob")) 
        .uniqueResult(customer); 

Ancak Eclipse o uniqueResult tanımlanmamış olduğunu söylüyor.

pom.xml

<build> 
    <plugins> 
     <plugin> 
     <groupId>com.mysema.maven</groupId> 
     <artifactId>apt-maven-plugin</artifactId> 
     <version>1.1.3</version> 
     <executions> 
      <execution> 
      <goals> 
       <goal>process</goal> 
      </goals> 
      <configuration> 
       <outputDirectory>target/generated-sources/java</outputDirectory> 
       <processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor> 
      </configuration> 
      </execution> 
     </executions> 
     <dependencies> 
      <dependency> 
      <groupId>com.querydsl</groupId> 
      <artifactId>querydsl-apt</artifactId> 
      <version>4.0.9</version> 
      </dependency> 
     </dependencies> 
     </plugin> 
    </plugins> 
</build> 

<dependency> 
    <groupId>com.querydsl</groupId> 
    <artifactId>querydsl-jpa</artifactId> 
    <version>4.0.9</version> 
</dependency> 

<dependency> 
    <groupId>com.querydsl</groupId> 
    <artifactId>querydsl-apt</artifactId> 
    <version>4.0.9</version> 
</dependency> 

<dependency> 
    <groupId>com.querydsl</groupId> 
    <artifactId>querydsl-core</artifactId> 
    <version>4.0.9</version> 
</dependency> 

cevap

1

sadece ileriyi gitti ve JPAQuery kullanarak kaçınılması ve yerine JPAQueryFactory kullandı. Aşağıda kullandığım yeni kod:

JPAQueryFactory queryFactory = new JPAQueryFactory(entityManager); 

QCustomer customer = QCustomer.customer; 

List<Study> result = queryFactory.selectFrom(customer) 
           .where(customer.firstName.eq("Bob")) 
           .fetchOne();