【问题标题】:QueryDsl queries with parameters?QueryDsl 带参数查询?
【发布时间】:2023-04-05 13:38:01
【问题描述】:

使用 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传递参数?

【问题讨论】:

    标签: java querydsl


    【解决方案1】:

    我对 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 应该很简单。

    【讨论】:

      猜你喜欢
      • 2016-08-07
      • 1970-01-01
      • 1970-01-01
      • 2017-04-06
      • 2013-05-26
      • 2013-05-03
      • 2020-10-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多