मेरे पास 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
Post a Comment