2010-04-07 50 views
1

我正在建立一個小型金融系統。由於複式記賬,交易總是以兩個或兩個以上的批次進行,所以我有一個batch表和一個transaction表。 (交易表具有batch_id,account_idamount字段,並且像datedescription這樣的共享數據被降級到batch表)。從加入的查詢中填充模型對象的最佳方法?

到目前爲止,我一直在使用基本的vo型模型。但是,由於此表結構,事務幾乎總是通過batch表中的連接進行選擇。

所以我應該選擇記錄並將它們拼接成兩個單獨的vo對象,或者我應該創建一個包含批處理和交易數據的「共享」vo?

有幾種情況,其中batch記錄和/或transaction記錄是單獨加載的,因此它們每個都會有相關的vo類。如果我有像這樣「重疊」的vo課程,是否有可能出現陷阱?

回答

1

最好的方法是將模型不綁定到數據庫表,而是綁定到您的視圖。例如。如果視圖有日期字段,那麼使用「共享」視圖對象(理想情況下甚至是特定於視圖的對象),如果視圖只有事務信息,則使用另一個對象等。它可能很乏味,但關注的分離是值得的。在適當的時候重複使用/繼承可以彌補過多的重複。

+0

你是指數據庫意義上的「視圖」,還是別的? – keithjgrant 2010-04-07 22:01:37

+0

在MVC意義上的「視圖」。例如。表格,頁面等。 – ovolko 2010-04-08 07:50:27

+0

啊,呃。我讓自己的頭停留在數據訪問層。謝謝! – keithjgrant 2010-04-08 16:00:36

相關問題