關於內嵌物件(Embedded Object)快取設計的問題

sdaucs發表於2008-04-23
我在修改jpetstore這個專案時,發現如果使用者查詢自己以前的訂單時,需要查詢Item,所以我想讓Item成為成為order.LineItem的內嵌物件的,這時就想到了用banq老師講內嵌物件快取設計的問題,我是這樣用的
我先說原來沒有用內嵌物件時的設計:
Class OrderSqlMapDao{
...........
public Order getOrder(int orderId) throws SQLException {
Order order = null;
Object parameterObject = new Integer(orderId);
order = (Order) sqlMapDaoTemplate.queryForObject("getOrder",
parameterObject);
List lineItems = sqlMapDaoTemplate.queryForList(
"getLineItemsByOrderId", new Integer(order.getOrderId()));
Iterator it = lineItems.iterator();
while (it.hasNext()) {
LineItem lineItem = (LineItem) it.next();
parameterObject = lineItem.getItemId();
lineItem.setItem((Item) sqlMapDaoTemplate.queryForObject("getItem",
parameterObject));
}
order.setLineItems(lineItems);
return order;
}
..............
}

[該貼被sdaucs於2008-04-23 13:15修改過]

相關文章