QueryDsl для создания собственного запроса

Есть ли способ преобразовать запрос querydsl в собственный запрос, включая параметры запроса? В настоящее время у меня есть что-то вроде

    QDrm qdrm = QDrm.drm;

    String table = "drm";
    Path<Object> userPath = new PathImpl<Object>(Object.class, table);
    StringPath usernamePath = Expressions.stringPath(userPath, "accessory_id");
    query.from(qdrm).where(qdrm.accessory_id.eq(100l));
    query.where(qdrm.time.lt("2104-04-14"));

    System.out.println(query.getSQL(usernamePath).getSQL());

Это приводит к следующему выводу:

select drm.accessory_id
from drm
where drm.accessory_id = ? and drm.time < ?

Моя цель - производить

select drm.accessory_id
from drm
where drm.accessory_id = 100 and drm.time < "2104-04-14"

Запрос будет выполняться вручную или другими средствами вне QueryDSL.

Спасибо за помощь.


person bayes    schedule 29.09.2014    source источник
comment
Что такое query в вашем коде? я ищу то же самое   -  person anat0lius    schedule 05.12.2018


Ответы (1)


Используйте метод setUseLiterals() в конфигурации или в объекте SQLQuery. На это ответили здесь:

Как получить полностью материализованный запрос из querydsl

person David Fleeman    schedule 30.09.2014