我使用下面的hibernate代码从数据库中获取数据.
@H_502_2@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类中,我已经声明了一个私有的字符串crfEmailTypeCd;数据库中为null的字段.由于null,它不在返回列表中设置记录.如果我去数据库中的字段内输入一个值,它就会获取.
解决方法
当你使用类型属性原语相同时,需要设置默认值,相同的零(0)或(a)(..)
@H_502_2@private int number;
private int value;
private char option;
如果hibernate数据库准备就绪,那么当Hibernate生成器的转换器出错时
>这种从不用户原始类型的解决方案
>或者为属性定义默认值
>每个其他可能性您的日期不为空,此值为白色
> white与null不同
>制作测试条件Restrictions.isNotNull.
>制作其他测试条件Restrictions.isNull.
>其他测试使一个方法接收int,调用send一个Integer null
第一项
@H_502_2@private Integer number; private Integer value; private Character option;最后一项测试
@H_502_2@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); } }