2015-03-10 13 views
11

Sto usando primavera dati JPA 1.7.1Come aggiungere suggerimenti per le query sui dati jpa querydsl di primavera?

Stavo cercando suggerimenti query pass (per esempio per Hibernate query nella cache) per le query quando si utilizzano i metodi querydsl dei repository standard primavera dati, come definito nell'interfaccia QueryDslPredicateExecutor, per esempio findOne(Predicate predicate), findAll(Predicate predicate) ecc

ho pensato che essi possono essere impostati sovrascrivendo i metodi in QueryDslPredicateExecutor (nella mia interfaccia repository o un'interfaccia intermedio) e aggiungendo la QueryHints di annotazione, ma dal momento che non riesco a trovare questo documentato da nessuna parte mi chiedevo se questo è il modo consigliato di farlo.

Ecco un esempio:

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

Sei sicuro circa la versione? Il supporto per questo è stato aggiunto tramite [DATAJPA-574] (https://jira.spring.io/browse/DATAJPA-574) in 1.7.0.RC1. 'QueryDslJpaRepository.createQuery (...)' dovrebbe effettivamente applicare quei suggerimenti. –

+0

Quello che ho postato sopra funziona davvero. Volevo solo sapere se è l'uso corretto, perché non riesco a trovarlo documentato da nessuna parte, relativo a querydsl. Grazie. –

risposta

Problemi correlati