public String pinLoacation(String city, String add2, String add3, String district, String state, String country,
String pin) {
Session session = getSession();
city = "kallahi";
add2 = "asi5a";
add3 = "parvathiffgpuragm road";
district = "kozfhikode";
state = "kerafla";
country = "india";
pin = "673003";
List<String> ar = new ArrayList<String>();
ar.add(pin);
ar.add(country);
ar.add(state);
ar.add(district);
ar.add(city);
ar.add(add3);
ar.add(add2);
Criteria criteria = session.createCriteria(RegionProfile.class);
Disjunction disjunction = Restrictions.disjunction();
int i = 0;
while (i < ar.size()) {
check: if (disjunction.add(Restrictions.eq("regionProfileName", ar.get(i)).ignoreCase()).equals(ar.get(i)))
break check;
else i++;
}
criteria.add(disjunction);
ProjectionList proj = Projections.projectionList();
proj.add(Projections.groupProperty("regionProfileId").as("regionProfileId"));
criteria.setProjection(proj);
criteria.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
List<RegionProfile> res = criteria.list();
return BasicGson.toGson(res);
}
}
我有,我想用從列表中返回一個特定的列表項的ID上面的代碼,但它的同時,完成後返回整個結果loop.But我想從if語句斷裂,同時通過循環if語句
regionprofile列第一個真正的條件的結果值
"World"
"Asia"
"India"
"Kerala"
"Kozhikode"
"673003"
所以其實我想返回第一個平等的列表項的ID,但現在它返回的印度 2點的ID,即ID的和pin
我不得不同意你到目前爲止的答案:你的代碼看起來過於複雜;因爲我不是你使用的框架的專家......而且因爲我現在沒有真正的鍵盤......如果你仍然需要幫助,我只能提供你在星期一回到我身邊。現在,我唯一可以說的是:if條件中的代碼太複雜了。嘗試將其分解成其部分;打印這些子結果,看看你的代碼真的在做什麼。好吧,也許現在是您學習如何使用調試器的時候了。 – GhostCat