我有實體AnnouncementEntity在我的代碼:TypedQuery無法與布爾繼續在塊
public class AnnouncementEntity {
//columns
private long id;
***
private Boolean on;
***
@Column(name="ACTIVE")
public Boolean getOn() {
return on;
}
public void setOn(Boolean on) {
this.on = on;
}
}
我試圖讓它們具有「真實」在這一領域中的所有記錄:
TypedQuery<AnnouncementEntity> query =
em.createQuery("select p from AnnouncementEntity p where p.on = TRUE", AnnouncementEntity.class);
但我面臨着異常:
SEVERE: java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: p near line 1, column 60 [select p from com.ui4ivr.entity.AnnouncementEntity p where p.on = TRUE] at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1679) at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1602) at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1608) at org.hibernate.jpa.spi.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:313) at com.ui4ivr.dao.daoImpl.getAllAnnsVShort(daoImpl.java:933) at com.ui4ivr.view.MainView.enter(MainView.java:259)
能不能請你說w ^帽子是錯的?
真正的原因是不正確映射到現場。 –
該字段應該與數據庫中的實際列名稱相同。 我用「Boolean active」代替了爲「布爾開」; true 1,false 0 –