2015-03-10 17 views
11

Ich verwende Spring Data JPA 1.7.1Wie Abfragehinweise zu Spring-Daten jpa querydsl Abfragen hinzufügen?

ich Pass Abfragehinweise versuchen (zB für Hibernate Query-Caching), um Abfragen, wenn die querydsl Methoden des Standard-Spring Data Repositories, wie in der QueryDslPredicateExecutor Schnittstelle definiert, z.B findOne(Predicate predicate), findAll(Predicate predicate) usw.

ich dachte, dass sie durch Überschreiben der Methoden in QueryDslPredicateExecutor (in meiner Repository-Schnittstelle oder eine Zwischenschnittstelle) und das Hinzufügen der QueryHints Annotation festgelegt werden können, aber da ich dies irgendwo dokumentierte nicht finden können, ich habe mich gefragt, ob Dies ist der empfohlene Weg, dies zu tun. Hier

ein Beispiel:

public interface MyEntityRepository extends CrudRepository<MyEntity, Integer>, CacheableQueryDslPredicateExecutor<MyEntity> { 

    @QueryHints(value = { 
      @QueryHint(name = "org.hibernate.cacheable", value = "true"), 
      @QueryHint(name = "org.hibernate.cacheMode", value = "NORMAL"), 
      @QueryHint(name = "org.hibernate.cacheRegion", value = "myCacheRegion") 
    }) 
    Iterable<T> findAll(Predicate predicate); 

} 
+0

Sind Sie sicher über die Version? Unterstützung dafür wurde über [DATAJPA-574] (https://jira.spring.io/browse/DATAJPA-574) in 1.7.0.RC1 hinzugefügt. 'QueryDslJpaRepository.createQuery (...)' sollte diese Hinweise tatsächlich anwenden. –

+0

Was ich oben gepostet habe, funktioniert tatsächlich. Ich wollte nur wissen, ob es die richtige Verwendung ist, weil ich es nirgends dokumentiert finden kann, in Bezug auf Querydsl. Vielen Dank. –

Antwort

3

Dies ist die empfohlene und richtige Weg, es zu tun, siehe Dokumentation für 1.7.1:

http://docs.spring.io/spring-data/jpa/docs/1.7.1.RELEASE/reference/html/#jpa.query-hints

+2

Ja, ich habe das gesehen, aber das erwähnt nur benutzerdefinierte Abfragen, die nicht mit querydsl zusammenhängen. Meine Frage war über Querydsl-Abfragen. Ich habe angenommen, dass es verwendet werden kann, wie ich gepostet habe (durch Überschreiben der Standardmethoden). –

Verwandte Themen