有没有办法将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之外的其他方式执行。
谢谢你的帮助。
答案 0 :(得分:2)
在Configuration或SQLQuery对象上使用setUseLiterals()方法。这已在这里得到解答: