2016-08-12 27 views
7

alanındaki alanın boş olduğu değeri almıyor Verileri veritabanından almak için aşağıdaki hazırda bekletme kodunu kullanıyorum.Veritabanında

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 içinde, ben veritabanında boş bir private String crfEmailTypeCd; alanı ilan etmişlerdir. Null nedeniyle, kayıt listesinde iade edilmiyor. Veritabanındaki alana girip girersem, alır.

Sorguyu doğrudan sql veritabanında çalıştırmayı denedim, oluşan sorgu doğru ve tüm verileri getiriyor.

Bu kayıt neden alınmıyor? ve bunu nasıl çözebilirim? Tür özelliklerini kullandığınızda

+0

Mesaj CrfEmailDataBean sınıf yanı – StanislavL

+0

@StanislavL Onun göndermek çağrı alıcılar ve ayarlayıcılara sahip normal bir veri çekirdeği. – themaster

+0

Burada asıl sorun nedir? Sorgunuz beklendiği gibi çalışmıyor mu veya "CrfEmailDataBean" örneklerinin kaydedilmesi doğru çalışmıyor mu? –

cevap

0

ilkel aynı, varsayılan değeri ayarlamak gerekir aynı sıfır (0) veya (a) (..)

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

eğer hazırda veritabanı hazır boş zaman hazırda jeneratörün dönüştürücüler ilkel bu asla kullanıcıya tipi

  • Ya özellikleri
  • birbirini olasılık tarih değil, n için varsayılan değer de tanımlamak için bir hata

    • çözüm ull, bu değer beyaz
    • beyaz null
    • 'den farklı bir test yapın koşulları Restrictions.isNotNull yapın.
    • diğer test koşulları koşullarını yerine getirin Restrictions.isNull.
    • diğer test yöntemidir int almak yapmak, boş bir Tamsayı

    ilk öğenin

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

    son öğe testi

    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); 
        } }