如何读取查询参数键和值

时间:2015-01-20 13:11:08

标签: java jpa

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
...
...

6 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:1)

你可以试试这个:

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

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

答案 2 :(得分:1)

你只需要查看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));
}

答案 3 :(得分:0)

检查查询界面。它有很多方法,比如getParameter *()。看看哪一个适合你。

答案 4 :(得分:0)

getParameter()可以帮助您了解更多信息。请click在此处获取更多信息。

答案 5 :(得分:0)

这对我有用:

((NativeQueryImpl) fQuery).getNamedParameterMap()