【问题标题】:HIbernate not fetching value where the field is null in database recordHIbernate 不获取数据库记录中字段为空的值
【发布时间】: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_NBRcampNbrgetSessionFactory()CrfEmailDataBean.class 呢?请提供代码。您使用哪个版本的 Hibernate?
  • 您应该发布您的答案,而不是将其添加到问题中。这样别人就更容易找到了。

标签: java hibernate


【解决方案1】:

当你使用类型属性原语相同时,需要设置默认值,相同的零 (0) 或 (a) (..)

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

如果hibernate database ready null,当Hibernate generator的转换器出错

  • 这种从不使用用户原始类型的解决方案
  • 或定义属性的默认值
  • 其他可能性你的日期不为空,这个值是白色的
  • 白色与null不同
  • 进行测试放置条件 Restrictions.isNotNull。
  • 制作其他测试放置条件 Restrictions.isNull。
  • 其他测试使方法接收 int,调用发送一个 Integer null

第一项

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

【讨论】:

    猜你喜欢
    • 2016-09-17
    • 1970-01-01
    • 1970-01-01
    • 2021-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多