2016-08-12 6 views
7

मैं डेटाबेस से डेटा लाने के लिए नीचे हाइबरनेट कोड का उपयोग कर रहा हूं।हाइबरनेट उस मूल्य को नहीं ला रहा है जहां क्षेत्र डेटाबेस रिकॉर्ड में शून्य है

SessionFactory factory = null; 
    Session session = null; 
    try { 
     factory = getSessionFactory(); 
     session = factory.openSession(); 

     final Criteria criteria = session 
       .createCriteria(CrfEmailDataBean.class); 
     criteria.add(Restrictions.eq(CAMPN_NBR, campNbr)); 
     returnList = criteria.list(); 
    } catch (Exception e) { 
     logger.error(e.getMessage()); 
     throw new DAOException(e); 
    } finally { 
     DBUtil.close(factory, session); 
    } 
    if (logger.isInfoEnabled()) { 
     logger.info(LOG_METHOD_EXIT); 
    } 
    return returnList; 
} 

अंदर CrfEmailDataBean class, मैं एक private String crfEmailTypeCd; क्षेत्र है जो डेटाबेस में रिक्त है घोषित किया है। शून्य की वजह से, यह रिटर्न सूची में रिकॉर्ड स्थापित नहीं कर रहा है। यदि मैं जाता हूं और डेटाबेस में फ़ील्ड के अंदर एक मान दर्ज करता हूं, तो यह प्राप्त होता है।

मैंने सीधे एसक्यूएल डेटाबेस पर क्वेरी चलाने की कोशिश की, गठित क्वेरी सही है और सभी डेटा प्राप्त करती है।

यह रिकॉर्ड क्यों नहीं ला रहा है? और मैं इसे कैसे हल कर सकता हूं?

+0

पोस्ट CrfEmailDataBean वर्ग के रूप में अच्छी तरह से – StanislavL

+0

@StanislavL इसका भेज फोन गेटर्स और सेटर्स वाले एक सामान्य डेटा बीन। – themaster

+0

यहां असली समस्या क्या है? क्या आपकी क्वेरी अपेक्षित काम नहीं कर रही है, या 'CrfEmailDataBean' उदाहरणों की बचत सही ढंग से काम नहीं कर रही है? –

उत्तर

0

जब आप प्रकार गुणों का उपयोग आदिम ही, डिफ़ॉल्ट मान सेट की जरूरत है, एक ही शून्य (0) या (क) (..)

private int number; 
private int value; 
private char option; 

अगर हाइबरनेट डेटाबेस तैयार अशक्त, जब हाइबरनेट जनरेटर के कन्वर्टर्स यह कभी उपयोगकर्ता आदिम प्रकार

  • या डी गुण
  • प्रत्येक अन्य संभावना अपनी तिथि नहीं n के लिए डिफ़ॉल्ट मान को परिभाषित करने के लिए एक त्रुटि

    • समाधान ull, यह मान सफेद
    • सफेद शून्य से अलग है
    • परीक्षण की शर्तों को रोकें Restrictions.isNotNull।
    • अन्य टेस्ट डालने की स्थितियां Restrictions.isNull।
    • अन्य परीक्षण के लिए एक विधि पूर्णांक प्राप्त करने, एक पूर्णांक अशक्त

    पहला आइटम

    private Integer number; 
    private Integer value; 
    private Character option; 
    

    अंतिम आइटम परीक्षण

    public class Test{ 
    
        public static void setInt(int value){ 
         System.out.println(value); 
        } 
    
        public static void main(String[] args) 
        { 
         Integer testValue=null; 
         Test.setInt(testValue); 
        } } 
    
  • संबंधित मुद्दे