HQL: использование логических значений в именованных запросах - PullRequest
17 голосов
/ 05 января 2012

Можете ли вы помочь мне? У меня ошибка при запросе логического значения "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

В моем постоянстве.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

Спасибо.

1 Ответ

41 голосов
/ 26 апреля 2012

попробуйте это: where r.isDefault is true

...