से कक्षा प्राप्त करना मेरे पास पैरामीटरकृत हाइबरनेट डाओ है जो मूल क्रूड ऑपरेशंस करता है, और जब दिए गए दाओ के लिए मूल क्रूड ऑपरेशंस को पूरा करने के लिए पैरामीटर का उपयोग प्रतिनिधि के रूप में किया जाता है।जेनेरिक टी
public T findByPrimaryKey(ID id) {
return (T) HibernateUtil.getSession().load(T.getClass(), id);
}
मुझे पता है:
public class HibernateDao <T, ID extends Serializable> implements GenericDao<T, ID>
मुझे लगता है कि हाइबरनेट में मापदंड प्रश्नों बनाने के लिए कार्यावधि में टी से कक्षा प्राप्त करने के लिए सक्षम होना चाहते हैं इस तरह,
T.getClass()
मौजूद नहीं है, लेकिन क्या रनटाइम पर टी से सही क्लास ऑब्जेक्ट प्राप्त करने का कोई तरीका है?
मैंने जेनेरिक और प्रतिबिंब को देखा है लेकिन एक उपयुक्त समाधान के साथ नहीं आया है, शायद मुझे कुछ याद आ रही है।
धन्यवाद।
हाँ यह एक समाधान मेरे पास है। क्लास निर्भरता को जोड़ने के बिना, यदि संभव हो तो मैं कक्षा से कक्षा को प्राप्त करने में सक्षम होना पसंद करूंगा। – bowsie
@ बोवेसी: मैं आपके दर्द को समझता हूं। दुर्भाग्यवश, कंपाइलर पूरा करता है टी के सभी निशान मिटा देता है। इसे टाइप एरर कहा जाता है: http://java.sun.com/docs/books/tutorial/java/generics/erasure.html –
आह ठीक है, धन्यवाद एडम। – bowsie