Добрый день,
сразу скажу, что у меня не очень много опыта с queryDSL.
Вопрос, собственно такой.
queryDSL генерирует такой вот SQL, который потом отдает в Hibernate.
select nvl(sum(column), ?1) from table where id=?2
Hibernate из этого делает
select nvl(sum(column), ?) from table where id=?
проблема в том, есть базы данных, в частности Informix, который не понимает "?", если они в заключены между select и from.
Т.е. такой вот sql работает без проблем
select nvl(sum(column), 0) from table where id=?
Есть ли возможность сказать в queryDSL, чтобы она сразу подставляла значение и сразу генерила вот такое
select nvl(sum(column), 0) from table where id=?
или
select nvl(column, "ааа") from table where id=? (для оракла надо будет, правда, генерить select nvl(column, 'aaa') from table where id=?)
или может есть какие-либо лучшие пути решения? А то вдруг вообще не туда копаю
Может например в hibernate подправить диалект для Infromix, но пока не придумал как это сделать там.
Заранее спасибо.
P.S.
JPAQuery<Float> query = new JPAQuery<>(em);
query.select(QPP.reservedQuantity.sum().coalesce(0F).asNumber().floatValue());
Вот
тут, правда, говорят, что должно сразу значение подставляться. Но у меня что-то нет.