हमारे पास निम्नलिखित जेपीए वर्ग है:मैं जेपीए में संग्रह संपत्ति को गतिशील रूप से कैसे क्रमबद्ध कर सकता हूं?
@Entity
class Supplier {
// ... id property etc.
@OneToMany
@OrderBy("someProperty")
private List<Region> regions;
}
यह सामान्य मामले में ठीक काम करता है। हालांकि, हमारे पास कुछ बहुभाषी डेटा हैं जहां मान nameEn
, nameDe
, nameZh
जैसे गुणों में संग्रहीत हैं। उपयोग करने के लिए सटीक संपत्ति लॉग इन उपयोगकर्ता पर निर्भर करती है। उदाहरण के लिए, एक जर्मन भाषी उपयोगकर्ता को क्षेत्रों को देखना चाहिए जैसे कि यह @OrderBy("nameDe")
के साथ एनोटेट किया गया था।
मैं इसे कैसे प्राप्त कर सकता हूं?
मुझे पता है कि लोड होने के बाद मैं अपने कोड में संग्रह को सॉर्ट कर सकता हूं, लेकिन इससे परिणामों की पेजिनेशन काफी मुश्किल हो जाती है।
आप एनोटेशन में एम्बेड नहीं कर सकते हैं कि चूंकि एनोटेशन एक बार जब EntityManagerFactory अपने हठ इकाई के लिए बनाई गई है कार्रवाई की जाती है। आप जो करने की कोशिश कर रहे हैं वह गतिशील क्वेरी बनाने के समान है। –