web-dev-qa-db-fra.com

HQL: utilisation de booléen dans les requêtes nommées

Pouvez-vous m'aider s'il vous plaît? J'ai une erreur en interrogeant la valeur booléenne "r.isDefault = true".

Dans ma requête nommée HQL:

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

J'obtiens une erreur: causée par: org.hibernate.HibernateException: erreurs dans les requêtes nommées: RptQuery.queryDefaultByCode

Dans mon persistence.xml:

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

Dans mon 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;
}

Merci d'avance!

Réponse: Je viens de trouver une erreur mineure:

r.isDefault = true

devrait être

r.default = true

Merci.

19
Jemru

essaye ça : where r.isDefault is true

41
giannisapi