Hql Subqueries - unexpected token [select]

1 resposta
E

Estou fazendo o seguinte select:

SELECT p.seq,p.codlanc.codlanc,p.codlanc.desclanc,(select pr.vallanc from Prestlanc pr where pr.debcred = 'C' and pr.seq = p.seq ) debito   from Prestlanc p where  p.faturas.faturasPK.mesref='08/2013' AND p.faturas.faturasPK.codfat='01' and p.codprest.codprest=5

porem esta dando o erro abaixo :

line 1, column 51: unexpected token [select].

Alguem pode me ajudar ???

Obs. segue abaixo a entidade :

public class Prestlanc implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "seq")
    private Integer seq;
    @Column(name = "debcred")
    private String debcred;
    // @Max(value=?)  @Min(value=?)//if you know range of your decimal fields consider using these annotations to enforce field validation
    @Column(name = "vallanc")
    private BigDecimal vallanc;
    @Column(name = "datalanc")
    @Temporal(TemporalType.DATE)
    private Date datalanc;
    @Column(name = "obs")
    private String obs;
    @Column(name = "origem")
    private String origem;
    @Column(name = "irret")
    private BigDecimal irret;
    @Column(name = "tipoinss")
    private String tipoinss;
    @Column(name = "lanctrib")
    private String lanctrib;
    @Column(name = "usucod")
    private String usucod;
    @JoinColumns({
        @JoinColumn(name = "mesref", referencedColumnName = "mesref"),
        @JoinColumn(name = "codfat", referencedColumnName = "codfat")})
    @ManyToOne
    private Faturas faturas;
    @JoinColumn(name = "codprest", referencedColumnName = "codprest")
    @ManyToOne(optional = false)
    private Cadprest codprest;
    @JoinColumn(name = "codlanc", referencedColumnName = "codlanc")
    @ManyToOne
    private Cadlanc codlanc;

1 Resposta

E

Cara, o problema é que hql não suporta subselect na cláusula from. Estou passando pelo mesmo problema e parece que a solução é tentar alterar a minha query. Vai dar trabalho demais, a query é muito grande. :frowning:

Criado 18 de novembro de 2013
Ultima resposta 17 de dez. de 2013
Respostas 1
Participantes 2