【问题标题】:HQL: Using Boolean in Named QueriesHQL:在命名查询中使用布尔值
【发布时间】:2012-02-03 02:05:41
【问题描述】:

你能帮帮我吗?我在查询布尔值“r.isDefault = true”时出错。

在我的 HQL 命名查询中:

<named-query name="RptQuery.queryDefaultByCode">
    <query>
        SELECT r FROM RptQuery r WHERE r.code = ?1 AND r.isDefault = true
    </query>
</named-query>

我得到错误: 原因:org.hibernate.HibernateException:命名查询中的错误:RptQuery.queryDefaultByCode

在我的 persistence.xml 中:

<property name="hibernate.query.substitutions" value="true='Y', false='N', yes='Y', no='N'"/>

在我的pojo中:

private boolean isDefault;

@Column(name = "CPMN_IS_DEFLT", length = 1)
@Type(type = "yes_no")
public boolean isDefault() {
    return this.isDefault;
}

public void setDefault(boolean isDefault) {
    this.isDefault = isDefault;
}

提前谢谢你!

回答: 刚刚发现一个小错误:

r.isDefault = true

应该是

r.default = true

谢谢。

【问题讨论】:

  • 谢谢,它有效,请将您的解决方案作为答案发布并接受您自己的答案。它会帮助别人
  • 为什么是 r.default 而不是 r.isDefault?

标签: hibernate hql boolean named


【解决方案1】:

试试这个:where r.isDefault is true

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-08
    • 2015-09-20
    • 1970-01-01
    • 1970-01-01
    • 2011-12-16
    • 2011-09-21
    • 2015-09-06
    • 1970-01-01
    相关资源
    最近更新 更多