2015-03-10 8 views
11

मैं प्रश्नों के वसंत डाटा जेपीए 1.7.1वसंत डेटा जेपीए क्वेरीएसएल प्रश्नों के लिए क्वेरी संकेत कैसे जोड़ें?

उपयोग कर रहा हूँ मैं पास क्वेरी संकेत कोशिश कर रहा था (हाइबरनेट क्वेरी कैशिंग के लिए उदाहरण के लिए) जब मानक स्प्रिंग डाटा रिपोजिटरी का querydsl तरीकों का उपयोग कर, के रूप में QueryDslPredicateExecutor इंटरफ़ेस में परिभाषित है, जैसे findOne(Predicate predicate), findAll(Predicate predicate) आदि

मैं लगा वे QueryDslPredicateExecutor में तरीकों अधिभावी (मेरे भंडार इंटरफ़ेस या एक मध्यवर्ती इंटरफ़ेस में) और QueryHints एनोटेशन जोड़कर सेट किया जा सकता है कि, लेकिन जब से मैं नहीं मिल सकता है इस दस्तावेज कहीं भी मैं अगर सोच रहा था यह करने का यह अनुशंसित तरीका है।

यहाँ एक उदाहरण है:

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

आप संस्करण के बारे में हैं? इसके लिए समर्थन [DATAJPA-574] (https://jira.spring.io/browse/DATAJPA-574) के माध्यम से 1.7.0.आरसी 1 में जोड़ा गया था। 'QueryDslJpaRepository.createQuery (...) 'वास्तव में उन संकेतों को लागू करना चाहिए। –

+0

जो मैंने ऊपर पोस्ट किया है वह वास्तव में काम करता है। मैं सिर्फ यह जानना चाहता था कि यह सही उपयोग है, क्योंकि मैं querydsl से संबंधित कहीं भी दस्तावेज नहीं ढूंढ सकता। धन्यवाद। –

उत्तर

3

यह है यह कर की सिफारिश की और सही तरीका, 1.7.1 के लिए दस्तावेज़ देखें:

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

+2

हां मैंने इसे देखा है, लेकिन यह केवल कस्टम क्वेरी का उल्लेख करता है, क्वेरीएसएल से संबंधित नहीं है। मेरा सवाल querydsl प्रश्नों के बारे में था। मैंने माना है कि इसे पोस्ट किया जा सकता है जैसा कि मैंने पोस्ट किया है (मानक तरीकों को ओवरराइड करके)। –

संबंधित मुद्दे