[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[eclipselink-users] Rading Functionresult from a DataModifyQuery
|
Hello,
I'm using ValueReadQuery with StoredFunctionCall to read the Function result.
Now I have to execute the Function as a DataModifyQuery to force EL use ProxyUser.
Is there a Possibility to set ValueReadQuery to by also a DataModifyQuery?
SampleCode:
public Object executeFunction(String functionName, HashMap<String, Object> params, boolean modifysData) {
StoredFunctionCall functionCall = new StoredFunctionCall();
functionCall.setProcedureName(functionName);
DatabaseQuery query;
if (modifysData) {
//Using DataModifyQuery for Functions which modifies Data on Database
query = new DataModifyQuery();
} else {
//Using ValueReadQuery for Functions which doesn't modifies Data on Database
query = new ValueReadQuery();
}
query.setCall(functionCall);
List<Object> args = new ArrayList<Object>();
for (String key : params.keySet()) {
functionCall.addNamedArgument(key);
query.addArgument(key);
args.add(params.get(key));
}
functionCall.setResult("FUNCTION_RESULT");
//Using DataModifyQuery has the effet that the Result is an Integer which (maby) indicates sucsessfull execution and not the Functionresolt it self.
return getSession().executeQuery(query, args);
}
Best Regards
Berner Martin
Schweiter Braunviehzuchtverband