Reputation: 516
javax.persistence.Query
Query query = ....
query.setParameter("PARAM_1","1")
.setParameter("PARAM_2","2")
.setParameter("PARAM_3","3")
...
...;
I want to get parameters and write Console. Like this;
System out ;
PARAM_1 - 1
PARAM_2 - 2
PARAM_3 - 3
...
...
Upvotes: 3
Views: 6653
Reputation: 622
This worked for me:
((NativeQueryImpl) fQuery).getNamedParameterMap()
Upvotes: 0
Reputation: 43023
You can try this:
Query query = ...;
String[] keys = new String[] {"PARAM_1", "PARAM_2", "PARAM_3"};
for(String key : keys) {
System.out.println(key + " - " + query.getParamValue(key));
}
Upvotes: 1
Reputation: 798
You just had to look at the javadoc, the method 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));
}
Upvotes: 2
Reputation: 691
getParameter() helps you to understand more. Please click here for more information.
Upvotes: 0
Reputation: 3409
check query interface. It has many methods like getParameter*(). See which one suits you.
Upvotes: 0
Reputation: 2460
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));
}
Upvotes: 11