Olá, estou tentando fazer uma consulta em hql em que uma entidade acessa o atributo (que é uma composição) da outra entidade pela consulta, mas retorna esse erro: java.lang.IllegalArgumentException: org.hibernate.QueryException: illegal attempt to dereference collection
Segue o código da consulta :
String hql = " from StringRange b" +
" where b.stringInicial <= :stringInicial " +
" and b.stringFinal >= :stringFinal" +
" and b.produtoInicial <= :produtoInicial" +
" and b.produtoFinal >= :produtoFinal" +
" and b.complementoInicial <= :complementoInicial" +
" and b.complementoFinal >= :complementoFinal " +
" and b.tipoTransacoes.mtiCodproc like :mtiCodproc";
Object o = db.session().createQuery().
setParameter("stringInicial", getStringInicial(pan)).
setParameter("stringFinal", getStringFinal(pan)).
setParameter("produtoInicial", getProdutoInicial(pan)).
setParameter("produtoFinal", getProdutoFinal(pan)).
setParameter("complementoInicial", getComplementoInicial(pan)).
setParameter("complementoFinal", getComplementoFinal(pan)).
setParameter("mtiCodproc", "%"+txnType+"%").
list().get(0);
Obs: Não quero fazer a consulta com o join pois ele retorna dois objetos, e eu só quero um.
Alguém pode me ajudar?