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を返すために使用したいのですが、whileループの完了後に結果全体を返します。私が最初に等しいリスト項目のIDを返すようにしたいので、実際にループ中のifステートメントを中断します
"World"
"Asia"
"India"
"Kerala"
"Kozhikode"
"673003"
値が、今のはインドの2つのidの、すなわちidを返す
if文regionprofile列から最初の真条件の結果が欲しいですおよびピン
これまでの回答に同意する必要があります:あなたのコードは複雑すぎます。あなたが使用しているフレームワークの専門家ではないので...そして、私は現実のキーボードを持っていないので、まだ助けが必要な場合は、月曜日に私に戻ってくるように提案することができます。今、私が言うことができる唯一のもの:if条件のコードはあまりにも複雑です。それをその部分に分解してください。あなたのコードが実際に何をしているのかを確認するために、これらのサブレポートを出力します。そして、おそらく、デバッガの使い方を学ぶべき時です。 – GhostCat