如何读取查询参数键和值

How to read Query Parameters key and value

javax.persistence.Query

Query query = ....
query.setParameter("PARAM_1","1")
.setParameter("PARAM_2","2")
.setParameter("PARAM_3","3")
...
...;

想获取参数,写Console。像这样;

系统退出;

PARAM_1 - 1
PARAM_2 - 2
PARAM_3 - 3
...
...
java.util.Set<Parameter<?>> params = query.getParameters();
for (Parameter p : params) {
    String paramName = p.getName();
    System.out.print(paramName + " - ");
    System.out.println(query.getParameterValue(paramName));
}

你可以试试这个:

Query query = ...;
String[] keys = new String[] {"PARAM_1", "PARAM_2", "PARAM_3"};

for(String key : keys) {
   System.out.println(key + " - " + query.getParamValue(key));
}

查看查询界面。它有许多方法,如 getParameter*()。看看哪一款适合你。

getParameter() 帮助您了解更多。请click这里了解更多信息。

您只需查看 javadoc,方法 getParameters()

Query q = ...;
...
Set<Parameter<?>> parameters = q.getParameters();
for (Parameter<?> param : parameters){
    if (null == param.getName()){
        System.out.print(param.getPosition());
    } else {
        System.out.print(param.getName());
    }
    System.out.println(" - ");
    System.out.println(q.getParameterValue(param));
}

这对我有用:

((NativeQueryImpl) fQuery).getNamedParameterMap()