I have one Bean named ProductBean and I have two list that contains product id and product size. Iam trying to get product size on the basis of id which is working fine but list contains two items and it is giving result for first item only. Code which I have tried below is-
Iterator itr = cart.iterator();
while (itr.hasNext()) {
Integer i = (Integer) itr.next();
LOG.info("Poduct Id " + i);
CriteriaBuilder builder = session.getCriteriaBuilder();
CriteriaQuery<ProductBean> citeriaQuery = builder.createQuery(ProductBean.class);
Root<ProductBean> root = citeriaQuery.from(ProductBean.class);
citeriaQuery.select(root);
citeriaQuery.where(builder.equal(root.get("product_id"), i));
Query<ProductBean> query = session.createQuery(citeriaQuery);
productBeanList = query.list();
for (ProductBean productBean : productBeanList) {
StringBuilder sb = new StringBuilder();
sb.append(productBean.getProduct_size());
String[] lines = sb.toString().split(", ");
for (String s : lines) {
itr = sizes.iterator();
while (itr.hasNext()) {
Object size = (Object) itr.next();
if (String.valueOf(size).equals(s)) {
LOG.info("If condition matches " + String.valueOf(size) + " id is " + i);
productMap = new HashMap();
productMap.put("productBeanSize", String.valueOf(size));
productMap.put("productBean", productBean);
productList.add(productMap);
}
}
}
}
}