我有一个实体是这样的:JPA:枚举在命名查询
package it.infogroup.vertenze.entities;
import javax.persistence.*;
import java.io.Serializable;
import java.sql.Timestamp;
import java.util.Date;
@Entity
@Table(name = "RICHIESTE_ESPORTAZIONE_ISIDORO")
@NamedQueries({
@NamedQuery(name = "findFlussoDatiGeneraliByStato",
query = "select r from RichiestaEsportazioneIsidoro r
where r.stato = it.infogroup.vertenze.entities.
RichiestaEsportazioneIsidoro$StatoRichiesta.NEW
or r.stato = it.infogroup.vertenze.entities.
RichiestaEsportazioneIsidoro$StatoRichiesta.FAIL
and r.tipoFlusso = it.infogroup.vertenze.entities.
RichiestaEsportazioneIsidoro$TipoFlusso.DATI_GENERALI"),
@NamedQuery(name = "findFlussoAccantonamentiByStato",
query = "select r from RichiestaEsportazioneIsidoro r
where r.stato = it.infogroup.vertenze.entities.
RichiestaEsportazioneIsidoro$StatoRichiesta.NEW
or r.stato = it.infogroup.vertenze.entities.
RichiestaEsportazioneIsidoro$StatoRichiesta.FAIL
and r.tipoFlusso = it.infogroup.vertenze.entities.
RichiestaEsportazioneIsidoro$TipoFlusso.ACCANTONAMENTI")
})
public class RichiestaEsportazioneIsidoro implements Serializable {
public final static String QUERY_FIND_BY_LOTTO_AND_STATO =
"findRichiestaByLottoAndStato";
public enum StatoRichiesta {
NEW,
ELAB,
SENT,
FAIL
}
public enum TipoFlusso {
DATI_GENERALI,
ACCANTONAMENTI
}
上部署我得到这个错误:
01/12/2014 16:59 [ERROR]: org.hibernate.impl.SessionFactoryImpl -
Error in named query: findFlussoAccantonamentiByStato
org.hibernate.hql.ast.QuerySyntaxException:
unexpected token: . near line 1, column 167 [select r from
it.infogroup.vertenze.entities.RichiestaEsportazioneIsidoro r
where r.stato = it.infogroup.vertenze.entities.
RichiestaEsportazioneIsidoro$StatoRichiesta.NEW
or r.stato = it.infogroup.vertenze.entities.
RichiestaEsportazioneIsidoro$StatoRichiesta.FAIL
and r.tipoFlusso = it.infogroup.vertenze.entities.
RichiestaEsportazioneIsidoro$TipoFlusso.ACCANTONAMENTI]
有人可以帮助我理解我在做什么错? 谢谢。
这应该工作,你可以显示你如何注释'RichiestaEsportazioneIsidoro'中的枚举字段吗? – 2014-12-01 16:13:37
我使用'@Enumerated(EnumType.STRING)'注释了它们' – 2014-12-01 16:18:34