2012-01-05 19 views
13

Bạn có thể giúp tôi không? Tôi có lỗi khi truy vấn giá trị boolean "r.isDefault = true".HQL: Sử dụng Boolean trong các truy vấn được đặt tên

Trong HQL tên truy vấn của tôi:

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

tôi nhận được lỗi: Nguyên nhân: org.hibernate.HibernateException: lỗi trong các truy vấn tên: RptQuery.queryDefaultByCode

Trong persistence.xml tôi:

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

Trong POJO tôi:

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

Cảm ơn bạn trước!

Trả lời: Chỉ cần tìm thấy một lỗi nhỏ:

r.isDefault = true 

nên

r.default = true 

Cảm ơn.

Trả lời

36

hãy thử điều này: where r.isDefault is true

Các vấn đề liên quan