【发布时间】:2016-08-12 17:07:37
【问题描述】:
我正在使用下面的休眠代码从数据库中获取数据。
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; 字段,该字段在数据库中为空。由于为null,它没有在返回列表中设置记录。如果我去数据库中的字段内输入一个值,它会获取。
我尝试直接在 sql 数据库上运行查询,形成的查询是正确的并获取所有数据。
为什么它不获取该记录?我该如何解决这个问题?
【问题讨论】:
-
也发布 CrfEmailDataBean 类
-
不知道为什么人们赞成这个。如果没有实体映射,任何人都无法回答这个问题。
-
大家好,我收到了一个我现在看不到的答案。根据他的建议,我检查了我的 hbm 文件。我已将上述字段作为复合 ID 包含在我的 hbm 文件中。现在它正在工作。谢谢
-
CAMPN_NBR、campNbr、getSessionFactory()、CrfEmailDataBean.class呢?请提供代码。您使用哪个版本的 Hibernate? -
您应该发布您的答案,而不是将其添加到问题中。这样别人就更容易找到了。