[英]QueryDsl queries with parameters?
使用jpa,我們有NamedQuery女巫讓我們以這種方式傳遞參數:
public <T2> T2 getSingleResult(String namedQuery, Map<String, String> parameters, Class<T2> clazz) {
TypedQuery<T2> typedQuery = entityManager.createNamedQuery(namedQuery, clazz);
for (Entry<String, String> parameter : parameters.entrySet()) {
typedQuery.setParameter(parameter.getKey(), parameter.getValue());
}
return typedQuery.getSingleResult();
}
所以我想知道,有沒有類似的方法稍后使用QueryDsl傳遞參數?
我在PathBuilder中使用以下方法:
PathBuilder pathBuilder = new PathBuilder(Object.class, "my_table");
SQLQuery query = new SQLQuery(connection, OracleTemplates.DEFAULT);
query.from(pathBuilder.getRoot())
.where(pathBuilder.get("my_column").eq(new Param(String.class, "param1")))
.set(new Param(String.class, "param1"), "67")
.list(pathBuilder.get("my_column"));
將代碼調整為靜態生成的QueryDSL bean應該是微不足道的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.