2013-01-20 14 views
11

से सूची प्राप्त निम्नलिखित कोड मैं जो डेटाबेस में सभी उत्पादों में शामिल है उत्पाद की एक सूची प्राप्त करने के लिए कोशिश कर रहा हूँ में:हाइबरनेट डेटाबेस

public List<Products> getAllProducts() throws Exception{ 
    try{ 
    List<Products> products ; 
    org.hibernate.Transaction tx = session.beginTransaction(); 
    products = session.createSQLQuery("SELECT * FROM Products").list(); 
    if(products.size() > 0) 
    { 
     return products; 
    } 
    return null; 
    } 
    catch(Exception e) 
    { 
     throw e; 
    } 
} 

लेकिन यह अपवाद फेंक दिया जाता है:

[Ljava.lang.Object; cannot be cast to mediatek.Products 

उत्तर

-2

क्वेरी डालने के लिए भूल गए। यह अब काम कर रहा है।

List<Products> products = (List<Products>) session.createQuery("from Products").list(); 
6

आपका उत्तर न केवल एक कलाकार जोड़ता है, लेकिन एसक्यूएल से एचक्यूएल में स्विच करता है। चूंकि आपकी दूसरी क्वेरी एचक्यूएल में है, इसलिए हाइबरनेट मैपिंग जानकारी का उपयोग करने में सक्षम है यह जानने के लिए कि कौन सी कक्षा वापस आती है। यह हाइबरनेट में काम करने के लिए पसंदीदा तरीका है, लेकिन यदि आप किसी कारण से एसक्यूएल का इस्तेमाल किया था तुम्हारे साथ भी वही करता है हो सकता है:

(List<Products>)session.createSQLQuery("SELECT * FROM Products").addEntity(Products.class).list(); 
35
List<Products> list = session.createCriteria(Products.class).list(); 

यह आपको से उत्पादों तालिका के सभी रिकॉर्ड दे देंगे डेटाबेस

+1

session.createCriteria को – StackExploded

+0

हटा दिया गया है यदि क्रिएटोरिया को अब हटा दिया गया है तो आप इसका क्या उपयोग करते हैं? – Briksins

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