Criteria API で紹介していますが、クエリの作成に問題があります。これを 2 日間やろうとしているので、助けが必要です。データベースから米国の郵便番号を取得する必要がありますが、米国には多くの州と郡に同じ名前の都市があるため、合格しましたstate, county and city to the Facade
(文字列は「州 - 郡 - 市」のようにフォーマットされています)。 Criteria API を使用して。したがって、論理はstate = "state_name", county = "county_name" and city = "city_name
" の郵便番号を取ることですが、私の努力では結果が得られません。コードをデバッグしたところ、"cq.where(...)"
. " 形式は次のようになります: HI - HAWAII - HONUMU なので、HONUMU の郵便番号が必要です)
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery cq = cb.createQuery();
for (String c : cities) {
String[] b = c.split("-");
String state= b[0].trim();
String county= b[1].trim();
String city = b[2].trim();
Root<ZipCodes> zip = cq.from(ZipCodes.class);
cq.select(zip);
cq.where(cb.and(cb.equal(zip.<String>get("state"), state),
cb.equal(zip.<String>get("county"), county)),
cb.equal(zip.<String>get("city"), city));
return em.createQuery(cq).getResultList();