提交 c80a27ce 编写于 作者: O o2null

Merge branch 'hostfix/修复查询语句部分情况下参数映射不成功的问题' into 'develop'

hostfix/修复查询语句部分情况下参数映射不成功的问题 同时到master

See merge request o2oa/o2oa!308
package com.x.query.assemble.designer.jaxrs.statement;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
......@@ -174,6 +175,12 @@ class ActionExecuteV2 extends BaseAction {
LOGGER.debug("jpql:{}.", jpql);
if (upJpql.indexOf(JOIN_KEY) > -1 && upJpql.indexOf(JOIN_ON_KEY) > -1) {
query = em.createNativeQuery(jpql);
if(runtime.getParameters().size() > 0){
List<Object> values = new ArrayList<>(runtime.getParameters().values());
for(int i=0;i<values.size();i++){
query.setParameter(i+1, values.get(i));
}
}
} else {
query = em.createQuery(jpql);
}
......
package com.x.query.assemble.designer.jaxrs.statement;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
......@@ -18,10 +19,9 @@ abstract class BaseAction extends StandardJaxrsAction {
Integer size) throws Exception {
Runtime runtime = new Runtime();
if (null == jsonElement || jsonElement.isJsonNull()) {
runtime.parameters = new HashMap<String, Object>();
runtime.parameters = new HashMap<>(16);
} else {
runtime.parameters = XGsonBuilder.instance().fromJson(jsonElement, new TypeToken<Map<String, Object>>() {
}.getType());
runtime.parameters = XGsonBuilder.instance().fromJson(jsonElement, new TypeToken<LinkedHashMap<String, Object>>(){}.getType());
}
runtime.page = this.adjustPage(page);
runtime.size = this.adjustSize(size);
......
......@@ -140,6 +140,12 @@ class ActionExecuteV2 extends BaseAction {
String upJpql = jpql.toUpperCase();
if (upJpql.indexOf(JOIN_KEY) > -1 && upJpql.indexOf(JOIN_ON_KEY) > -1) {
query = em.createNativeQuery(jpql);
if(runtime.getParameters().size() > 0){
List<Object> values = new ArrayList<>(runtime.getParameters().values());
for(int i=0;i<values.size();i++){
query.setParameter(i+1, values.get(i));
}
}
} else {
query = em.createQuery(jpql);
}
......@@ -189,6 +195,12 @@ class ActionExecuteV2 extends BaseAction {
String upJpql = jpql.toUpperCase();
if (upJpql.indexOf(JOIN_KEY) > -1 && upJpql.indexOf(JOIN_ON_KEY) > -1) {
query = em.createNativeQuery(jpql);
if(runtime.getParameters().size() > 0){
List<Object> values = new ArrayList<>(runtime.getParameters().values());
for(int i=0;i<values.size();i++){
query.setParameter(i+1, values.get(i));
}
}
} else {
query = em.createQuery(jpql);
}
......
package com.x.query.assemble.surface.jaxrs.statement;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
......@@ -26,11 +27,10 @@ abstract class BaseAction extends StandardJaxrsAction {
try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
Business business = new Business(emc);
if (null == jsonElement || jsonElement.isJsonNull()) {
runtime.parameters = new HashMap<String, Object>();
runtime.parameters = new HashMap<>(16);
} else {
runtime.parameters = XGsonBuilder.instance().fromJson(jsonElement,
new TypeToken<Map<String, Object>>() {
}.getType());
new TypeToken<LinkedHashMap<String, Object>>() {}.getType());
}
runtime.page = this.adjustPage(page);
runtime.size = this.adjustSize2(size);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册