PAI无效
版本 9.5.19.2升级上来的
name: rowSave
path: jaxrs/table/{tableFlag}/row/save
type: POST
description: 指定表中批量保存或更新数据.
不传ID可以保存
30条都传ID+数据不可以保存
29条都传ID+数据 +1条不传ID可以保存
if (jsonElement.isJsonArray()) {
List<JpaObject> updateList = new ArrayList<>();
List<JpaObject> insertList = new ArrayList<>();
jsonElement.getAsJsonArray().forEach(o -> {
JpaObject jo = gson.fromJson(o, cls);
if (o.getAsJsonObject().has("id") && jo.getId() != null) {
try {
JpaObject oldjo = emc.find(jo.getId(), cls);
if (oldjo != null) {
// 更新操作
jo.copyTo(oldjo, JpaObject.FieldsUnmodify);
updateList.add(oldjo);
} else {
// ID存在但数据库中不存在,按新增处理
insertList.add(jo);
}
} catch (Exception e) {
// 查找失败,按新增处理
insertList.add(jo);
}
} else {
// 没有ID,按新增处理
insertList.add(jo);
}
});
// 先处理更新
if (!updateList.isEmpty()) {
emc.beginTransaction(cls);
for (JpaObject jo : updateList) {
emc.check(jo, CheckPersistType.all); // 使用check而不是persist
}
emc.commit();
}
// 再处理新增
os.addAll(insertList);
} 报错信息发看看,是不是id 校验规则没通过,可以看看忽略校验规则 xadmin 发表于 2026-1-5 15:31
报错信息发看看,是不是id 校验规则没通过,可以看看忽略校验规则
没有报错,是代码BUG,在处理JSON数组时,找到现有记录后直接return,跳过了后续的保存逻辑
页:
[1]