-1

我有一个工作终端应用程序,现在正在实现 Hibernate DB。想知道如何正确完成以下操作:

封闭对象BookStore包含按类型分组的订单列表。

class BookStore {
    Map<BookType, List<Order>> orders;
}

切换到 Hibernate 时,我无法在地图中使用 List。所以我不得不介绍另一个对象,比如:

class OrderList {
    List<Order> orders;
}
class BookStore {
    Map<BookType, OrderList> orders;
}

但是这样合适吗?最好让书店保存所有订单的未排序列表,并在需要时使用 sql 语句获取它们,例如:SELECT * FORM order o WHERE o.ordertype=OrderTypeA

和:

class BookStore {
    List<Order> orders;
}
4

1 回答 1

0

为什么不去规范化并将相关BookType字段添加到Order类中,这样您List的对象中只会有一个Order对象,BookStore并且您将能够轻松地知道给定对象中有多少Orders个对象,等等。您浪费了一些空间,但读取操作会更快。唯一的缺点是写入操作可能会变得更重(比您的初始规范化模型),但这可能不是一个真正的问题,具体取决于所述写入操作的实际复杂性,以及它发生的频率(现在改进) 读操作。BookTypeBookOrder

于 2012-10-30T14:45:54.370 回答