java - Getting array aliases elements by index -


मेरे पास 2 ऑब्जेक्ट हैं:

  उपयोगकर्ता {int id, स्ट्रिंग नाम, सूची & lt; status & gt ; StatusList} स्थिति {int id, int userId, स्ट्रिंग का नाम, दिनांक बनाने दिनांक}  

मैंने दो। Hbm फ़ाइलों में उस क्यूजे वर्गों को मैप किया है, उस पर, Status.hbm फ़ाइल में मैंने सीतनिद्रा में कहा , कि मैं डेट दृश्य से सॉर्ट किए गए डीईएससी में आधार से स्थिति प्राप्त करना चाहता हूं:

  & lt; set name = "statuses" आदेश-दर = "तिथि विवरण" & gt; & LT; कुंजी & gt; & Lt; कॉलम नाम = "यूज़र आयड" / & gt; & Lt; / कुंजी & gt; & Lt; एक-से-कई वर्ग = "स्थिति" / & gt; & Lt; / सेट & gt;  

अब मैं उपयोगकर्ताओं की एक सूची का चयन करना चाहता हूं, जिसे आपने चुना है (फ़े "बनाया", या "हटाया गया") स्थिति तत्व में प्रथम तत्व।

मैं लिखता हूं :

<प्री> sessionFactory.getCurrentSession ()। CreateCriteria (User.class) .createAlias ​​("स्थितियों", "स्थितिएलिअस") .add (प्रतिबंधों। Eq ("statuses alias [0] .name", "निर्मित")) सूची ()।;

लेकिन मुझे

  .add (प्रतिबंधों। Eq ("status alias [0] .name", "created") में त्रुटि मिलती है)   

तो, यह एक प्रश्न है - मैं उस ऑब्जेक्ट की संपत्ति के पहले तत्व तक कैसे पहुंच सकता हूं, जब उस संपत्ति को एआईआईएड जैसे

  .createAlias ​​("statuses", "StatusesAlias")  

आप इस शैली की क्वेरी को HQL का उपयोग कर लिख सकते हैं:

<पूर्व> उपयोगकर्ता से जहां स्थितियां [0]। नाम = 'बनाया'

मुझे विश्वास नहीं है कि मानदंड API का उपयोग करते हुए एक समान रूप है।


Comments