Condição no EJB QL - Persistência [RESOLVIDO]

Bom Dia,
No EJB QL não pode usar condição (if).

???

Caused by: org.hibernate.hql.ast.QuerySyntaxException: unexpected AST node: ( near line 1, column 108 [Select t FROM com.wave.erp.orm.financeiro.contareceber.ContaReceberDuplicata t WHERE t.cdEmpresa = ? and if(t.baixaDuplicata.dataBaixa=null, t.baixaDuplicata.dataBaixa between 11111111 and 11111111, t.dataVencimento between 11111111 and 11111111)  order by t.id ASC]

Abraços.

Não.

EJB QL <> Sintax de SQL Nativo

EJB QL é portável, SQL Nativo não

Conseguir arrumar:
Na classe que criava a query e adicionei filter.startsWith("("), dentro do laço que lê as variáveis, para não considerar o inicio com parenteses.
E para a condição, usei

...
filter.put("((t.dataVencimento between ? and ? and t.baixaDuplicata.dataBaixa = null) or" +
					" (t.baixaDuplicata.dataBaixa between ? and ? and t.baixaDuplicata.dataBaixa != null))", 
...

abraços.