HQL: использование логических значений в именованных запросах

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

В моем пожо:

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

Спасибо.


person Jemru    schedule 05.01.2012    source источник
comment
Спасибо, и это работает, опубликуйте свое решение в качестве ответа и примите свой собственный ответ. Это поможет другим   -  person Emdadul Sawon    schedule 16.12.2018
comment
Почему это r.default, а не r.isDefault?   -  person Arijit Basu    schedule 07.10.2019


Ответы (1)


попробуй так: where r.isDefault is true

person giannisapi    schedule 26.04.2012