2016-07-19 5 views
16

जैसा कि हम पहले से ही जानते हैं, मानदंड क्वेरीहाइबरनेट 5 में बहिष्कृत है। यह हाइबरनेट के पिछले संस्करणों में ऐसी उपयोगी सुविधा थी। और यह अभी भी एचक्यूएल से बेहतर प्रदर्शन करता है।हाइबरनेट 5 में मानदंड क्वेरी बहिष्कृत क्यों है?

तो हाइबरनेट 5 में इसके बहिष्कार का कारण क्या है?

और यह प्रश्न this question का डुप्लिकेट नहीं है क्योंकि मैं मानदंड क्वेरी के बहिष्कार के कारण को जानना चाहता हूं।

यह वह जगह है से here.

हाइबरनेट एक पुराने, लीगेसी org.hibernate.Criteria एपीआई जो पदावनत विचार किया जाना चाहिए प्रदान करता है। कोई फीचर डेवलपमेंट उन एपीआई को लक्षित करेगा। आखिरकार, हाइबरनेट-विशिष्ट मानदंड सुविधाएं जेपीए javax.persistence.criteria.CriteriaQuery के एक्सटेंशन के रूप में पोर्ट की गई होंगी। org.hibernate.Criteria एपीआई पर विवरण के लिए, लीगेसी हाइबरनेट मानदंड क्वेरीज़ देखें।

+0

[हाइबरनेट 5 और टाइपेड मानदंड क्वेरीज़ (जेपीए 2)] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/35824417/hibernate-5-and-typed-criteria-queries-jpa2) –

+0

[डॉक्स] से (https://docs.jboss.org/hibernate/orm/4.2/devguide/en-US/html/apb.html): _ "नए विकास को जेपीए 'javax.persistence.criteria.CriteriaQuery' API पर ध्यान देना चाहिए। आखिरकार, हाइबरनेट-विशिष्ट मानदंड सुविधाओं को जेपीए 'javax.persistence.criteria.CriteriaQuery' के एक्सटेंशन के रूप में पोर्ट किया जाएगा। "_ इसके अलावा, यदि आप सुस्पष्ट प्रश्न लिखना चाहते हैं (क्लंकी मानदंड एपीआई का उपयोग करने के बजाय), तो एक नज़र डालें [QueryDSL] (http://www.querydsl.com/)। –

+0

@MickMnemonic काफी डुप्लिकेट नहीं है। मैंने अपना प्रश्न संपादित किया। –

उत्तर

8

हम जेपीए एक्सटेंशन समर्थन के बदले मानदंड API को बहिष्कृत कर रहे हैं।

इस पर विचार करें:

CriteriaBuilder cb = entityManager.getCriteriaBuilder(); 
HibernateCriteria hc = cb.unwrap(HibernateCriteria.class); 
... 
query.where(hc.someAwesomeThing(...)); 
List<SomeEntity> entities = entityManager.createQuery(query).getResultList(); 

टिप्पणियों के विपरीत, हम हाइबरनेट विशिष्ट सुविधाओं का उद्धार करने के लिए जारी करने पर विचार कर , लेकिन हम बजाय बजाय मानक एपीआई के माध्यम से उन का परिचय दो रखने का प्रबंधन करने की कोशिश कर करना चाहते हैं बहुत अलग एपीआई जो सिंक में पूरक होने के लिए हैं।

+4

वर्तमान में मेरी परियोजना बहिष्कृत मानदंड API का उपयोग करती है। क्या नई सिफारिशों के मुताबिक एचक्यूएल या मानदंडबिल्डर के साथ प्रश्नों को फिर से लिखना अनुशंसित है? – Justas

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