Java – querydsl query parameters?

Using JPA, we have the namedquery witch. Let's pass the parameters in this way:

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();
}

So I wonder if there is a similar method to pass parameters later using querydsl?

Solution

I use the following methods in 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"));

Adjusting the code to statically generated querydsl beans should be trivial

The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>