我使用下面的hibernate代码从数据库中获取数据.
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;
}
Run Code Online (Sandbox Code Playgroud)
在里面CrfEmailDataBean class,我已经声明了一个private String crfEmailTypeCd;在数据库中为空的字段.由于null,它不在返回列表中设置记录.如果我去数据库中的字段内输入一个值,它就会获取.
我尝试直接在sql数据库上运行查询,形成的查询是正确的并获取所有数据.
为什么不提取该记录?我该如何解决这个问题?
当您使用相同的类型属性原语时,需要设置默认值,相同的零(0)或(a)(..)
private int number;
private int value;
private char option;
Run Code Online (Sandbox Code Playgroud)
如果hibernate数据库准备就绪为null,当Hibernate生成器的转换器出现错误
第一项
private Integer number;
private Integer value;
private Character option;
Run Code Online (Sandbox Code Playgroud)
最后一项测试
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);
} }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
948 次 |
| 最近记录: |