Spring MVC Hibernate 预加载 JSTL c:foreach
Spring MVC Hibernate Eager Load JSTL c:foreach
我在显示具有一对多关联项目的列表订单时遇到重复行的问题。订单将重复订单中的商品数量,而不是每个订单重复一次。
这是我的代码...
控制器映射
// RETURNS A LIST OF ALL ORDERS IN KITCHEN
@RequestMapping("/orderstatus")
public String showAddresses(Model model) {
List<Orders> deliveryKitchen = ordersService.getDeliveryKitchen();
List<Orders> deliveryOut = ordersService.getDeliveryOut();
List<Orders> insideKitchen = ordersService.getInsideKitchen();
List<Orders> insideOut = ordersService.getInsideOut();
List<Orders> takeoutKitchen = ordersService.getTakeoutKitchen();
model.addAttribute("deliveryKitchen", deliveryKitchen);
model.addAttribute("deliveryOut", deliveryOut);
model.addAttribute("insideKitchen", insideKitchen);
model.addAttribute("insideOut", insideOut);
model.addAttribute("takeoutKitchen", takeoutKitchen);
return "orderstatus";
}
一部分。jsp
<div>
Delivery
<table class="orders">
<tr>
<td>Order #</td>
<td>Name</td>
<td>Phone Number</td>
<td>Street</td>
<td>Items</td>
<td>Total</td>
</tr>
<c:forEach var="deliveryKitchen" items="${deliveryKitchen}">
<tr>
<td><c:out value="${deliveryKitchen.idorders}"></c:out></td>
<td><c:out value="${deliveryKitchen.users.name}"></c:out></td>
<td><c:out value="${deliveryKitchen.users.phoneNo}"></c:out></td>
<td><c:out value="${deliveryKitchen.addresses.street1}"></c:out>
<td>
<c:forEach var="insideItems" items="${deliveryKitchen.orderitem}">
<c:out value="${insideItems.items.name}"></c:out>
</c:forEach>
...
what the page shows
Delivery
Order # Name Phone Number Street Items Total
57 Panikos 9172955593 214-04 33rd ave Healthy Wrap Meatlover's Omlette 18.4 Out for Delivery Edit
57 Panikos 9172955593 214-04 33rd ave Healthy Wrap Meatlover's Omlette 18.4 Out for Delivery Edit
59 Jerry 7894578978 2145 fulton Belgian Style Waffle Chicken Salad Two Eggs Tuna Salad Sandwich Chicken Noodle Baja Chicken Macaroni and Cheese (kids) Western Omlette 53.4 Out for Delivery Edit
59 Jerry 7894578978 2145 fulton Belgian Style Waffle Chicken Salad Two Eggs Tuna Salad Sandwich Chicken Noodle Baja Chicken Macaroni and Cheese (kids) Western Omlette 53.4 Out for Delivery Edit
59 Jerry 7894578978 2145 fulton Belgian Style Waffle Chicken Salad Two Eggs Tuna Salad Sandwich Chicken Noodle Baja Chicken Macaroni and Cheese (kids) Western Omlette 53.4 Out for Delivery Edit
59 Jerry 7894578978 2145 fulton Belgian Style Waffle Chicken Salad Two Eggs Tuna Salad Sandwich Chicken Noodle Baja Chicken Macaroni and Cheese (kids) Western Omlette 53.4 Out for Delivery Edit
59 Jerry 7894578978 2145 fulton Belgian Style Waffle Chicken Salad Two Eggs Tuna Salad Sandwich Chicken Noodle Baja Chicken Macaroni and Cheese (kids) Western Omlette 53.4 Out for Delivery Edit
59 Jerry 7894578978 2145 fulton Belgian Style Waffle Chicken Salad Two Eggs Tuna Salad Sandwich Chicken Noodle Baja Chicken Macaroni and Cheese (kids) Western Omlette 53.4 Out for Delivery Edit
59 Jerry 7894578978 2145 fulton Belgian Style Waffle Chicken Salad Two Eggs Tuna Salad Sandwich Chicken Noodle Baja Chicken Macaroni and Cheese (kids) Western Omlette 53.4 Out for Delivery Edit
59 Jerry 7894578978 2145 fulton Belgian Style Waffle Chicken Salad Two Eggs Tuna Salad Sandwich Chicken Noodle Baja Chicken Macaroni and Cheese (kids) Western Omlette 53.4 Out for Delivery Edit
// GET ORDERS BY STATUS
@SuppressWarnings("unchecked")
public List<Orders> getDeliveryKitchen() {
Criteria crit = session().createCriteria(Orders.class);
crit.createCriteria("status", "c");
crit.add(Restrictions.eq("c.idstatus", 2));
return crit.list();
}
试一试:
Criteria crit = session().createCriteria(Orders.class);
crit.createCriteria("status", "c");
crit.add(Restrictions.eq("c.idstatus", 2));
crit.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
我在显示具有一对多关联项目的列表订单时遇到重复行的问题。订单将重复订单中的商品数量,而不是每个订单重复一次。
这是我的代码... 控制器映射
// RETURNS A LIST OF ALL ORDERS IN KITCHEN
@RequestMapping("/orderstatus")
public String showAddresses(Model model) {
List<Orders> deliveryKitchen = ordersService.getDeliveryKitchen();
List<Orders> deliveryOut = ordersService.getDeliveryOut();
List<Orders> insideKitchen = ordersService.getInsideKitchen();
List<Orders> insideOut = ordersService.getInsideOut();
List<Orders> takeoutKitchen = ordersService.getTakeoutKitchen();
model.addAttribute("deliveryKitchen", deliveryKitchen);
model.addAttribute("deliveryOut", deliveryOut);
model.addAttribute("insideKitchen", insideKitchen);
model.addAttribute("insideOut", insideOut);
model.addAttribute("takeoutKitchen", takeoutKitchen);
return "orderstatus";
}
一部分。jsp
<div>
Delivery
<table class="orders">
<tr>
<td>Order #</td>
<td>Name</td>
<td>Phone Number</td>
<td>Street</td>
<td>Items</td>
<td>Total</td>
</tr>
<c:forEach var="deliveryKitchen" items="${deliveryKitchen}">
<tr>
<td><c:out value="${deliveryKitchen.idorders}"></c:out></td>
<td><c:out value="${deliveryKitchen.users.name}"></c:out></td>
<td><c:out value="${deliveryKitchen.users.phoneNo}"></c:out></td>
<td><c:out value="${deliveryKitchen.addresses.street1}"></c:out>
<td>
<c:forEach var="insideItems" items="${deliveryKitchen.orderitem}">
<c:out value="${insideItems.items.name}"></c:out>
</c:forEach>
...
what the page shows
Delivery
Order # Name Phone Number Street Items Total
57 Panikos 9172955593 214-04 33rd ave Healthy Wrap Meatlover's Omlette 18.4 Out for Delivery Edit
57 Panikos 9172955593 214-04 33rd ave Healthy Wrap Meatlover's Omlette 18.4 Out for Delivery Edit
59 Jerry 7894578978 2145 fulton Belgian Style Waffle Chicken Salad Two Eggs Tuna Salad Sandwich Chicken Noodle Baja Chicken Macaroni and Cheese (kids) Western Omlette 53.4 Out for Delivery Edit
59 Jerry 7894578978 2145 fulton Belgian Style Waffle Chicken Salad Two Eggs Tuna Salad Sandwich Chicken Noodle Baja Chicken Macaroni and Cheese (kids) Western Omlette 53.4 Out for Delivery Edit
59 Jerry 7894578978 2145 fulton Belgian Style Waffle Chicken Salad Two Eggs Tuna Salad Sandwich Chicken Noodle Baja Chicken Macaroni and Cheese (kids) Western Omlette 53.4 Out for Delivery Edit
59 Jerry 7894578978 2145 fulton Belgian Style Waffle Chicken Salad Two Eggs Tuna Salad Sandwich Chicken Noodle Baja Chicken Macaroni and Cheese (kids) Western Omlette 53.4 Out for Delivery Edit
59 Jerry 7894578978 2145 fulton Belgian Style Waffle Chicken Salad Two Eggs Tuna Salad Sandwich Chicken Noodle Baja Chicken Macaroni and Cheese (kids) Western Omlette 53.4 Out for Delivery Edit
59 Jerry 7894578978 2145 fulton Belgian Style Waffle Chicken Salad Two Eggs Tuna Salad Sandwich Chicken Noodle Baja Chicken Macaroni and Cheese (kids) Western Omlette 53.4 Out for Delivery Edit
59 Jerry 7894578978 2145 fulton Belgian Style Waffle Chicken Salad Two Eggs Tuna Salad Sandwich Chicken Noodle Baja Chicken Macaroni and Cheese (kids) Western Omlette 53.4 Out for Delivery Edit
59 Jerry 7894578978 2145 fulton Belgian Style Waffle Chicken Salad Two Eggs Tuna Salad Sandwich Chicken Noodle Baja Chicken Macaroni and Cheese (kids) Western Omlette 53.4 Out for Delivery Edit
// GET ORDERS BY STATUS
@SuppressWarnings("unchecked")
public List<Orders> getDeliveryKitchen() {
Criteria crit = session().createCriteria(Orders.class);
crit.createCriteria("status", "c");
crit.add(Restrictions.eq("c.idstatus", 2));
return crit.list();
}
试一试:
Criteria crit = session().createCriteria(Orders.class);
crit.createCriteria("status", "c");
crit.add(Restrictions.eq("c.idstatus", 2));
crit.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);