我正在尝试返回POJO的数组列表。当我调试时,我看到pojo的arraylist是4,我可以看到条目,但它只返回最后一个条目并打印它四次。不知道我错在哪里。POJO的ArrayList只包含最后添加的项目。
预期: AID - 123 AID - 234 AID - 456 AID - 678
实际
AID - 678 AID - 678 AID - 678 AID - 678 修订<初始化E内循环解决了问题
@Override
public List<E> findAllByLoginId(String loginId) {
String oracleUrl = oracleProperties.getUrl();
List<E> el = new ArrayList<>();
int page =0;
int totalPages = 1;
URL url;
try {
for(page=0;page<totalPages;page++){
url = new URL(oracleUrl+loginId+"/page/" + page");
ObjectMapper mapper = new ObjectMapper();
UContent value = mapper.readValue(url, UContent.class);
List<UEntitiy> entities = value.getContent();
totalPages = value.getTotalPages();
total = value.getTotalElemenets();
if (entities!=null){
String query = null;
for(UEntitiy item : entities){
item = droolsHelper.createQueryWithDrools(item); // Drools
if(!StringUtils.isEmpty(item.getCQuery()) && item.getCQuery()!=null){
result = runNeo4j(item.getCQuery());// execute in neo4j
if(result.list().size() == 0){
E e = new E();
e.setCId(cId);
e.setR(r);
e.setU(uId);
el.add(e);
}
}
}
}
}
}
catch (MalformedURLException e) {
e.printStackTrace();
} catch (JsonParseException e) {
e.printStackTrace();
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return el;
}
我的猜测是你不是每次创建对象的新实例,只是一遍又一遍地改变一个实例的属性。 – csmckelvey
@WebDev你能给我们提供一个由你的oracle URL产生的JSON样本吗? –