在HQL中使用布尔值

时间:2014-11-19 15:24:30

标签: java hibernate

我有一个product类,其属性如下:

Boolean latest;

public boolean isLatest() {
    return latest;
}

public void setLatest(boolean latest) {
    this.latest = latest;
}

在数据库中,属性是具有true / false值的位类型。

我想选择最新= true的产品。我的hql是:

  

FROM Product WHERE latest = true

我也尝试过:

  

FROM Product p WHERE p.isLatest is true

     

FROM Product WHERE latest is true

但它总是返回所有产品或失败。有没有办法选择具有最新attribute = true的产品。任何帮助都会很棒。

1 个答案:

答案 0 :(得分:4)

当我遇到这个时,我在Apache Derby数据库上使用JDBC。我试图设置一个布尔字段的值,并尝试“= true”,“= 1”等。最后,我使用了一个命名参数,如下所示,这就是我的情况如何工作。

session.createQuery("SELECT something FROM Product WHERE latest = :latest").setBoolean("latest", Boolean.TRUE);

希望这可以帮助有类似情况的人。