【问题标题】:QueryDsl to produce a native queryQueryDsl 生成本机查询
【发布时间】:2014-11-24 11:32:08
【问题描述】:

有什么方法可以将 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 之外的其他方式执行。

感谢您的帮助。

【问题讨论】:

  • 您的代码中的query 是什么?我也在找一样的

标签: querydsl


【解决方案1】:

在配置或 SQLQuery 对象上使用 setUseLiterals() 方法。这里已经回答了:

How to get fully materialized query from querydsl

【讨论】:

    猜你喜欢
    • 2019-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-24
    • 1970-01-01
    • 2023-04-07
    • 2016-08-07
    相关资源
    最近更新 更多