業務物件對映到表之間的關聯問題!!

ironpearl發表於2007-07-19

有個客戶關係管理系統。
現在有幾個業務物件,如投訴資訊物件、報裝資訊、報修資訊等等。
每個業務裡可以有要求回訪,並且一個業務可能對應要求幾次回訪。所以把回訪資訊單獨進行一個物件維護。

class CallBackInfo(){
id int; //回訪的標識ID
... //其他屬性
}

class ComplainInfo(){
int id; //投訴的標識ID
Array[] callbacks; //回訪資訊
... 其他屬性
}

class ******FaultInfo(){
id int; //報修的標識ID
Array[] callbacks; //回訪資訊
... 其他屬性
}

class ******InstallInfo(){
id int; //報裝的標識ID
Array[] callbacks; //回訪資訊
... 其他屬性
}

在設計表時,如果將回訪表與其他業務表進行關聯??
1、如果在表callBackInfo裡增加一個外來鍵欄位,指向業務ID,對應的問題是有三個業務ID
2、如果在1的基礎之上增加個int type欄位,用於指定哪個業務,這樣設計有悖物件導向的思想,同時hibernate對映也有問題
3、不把回訪資訊單獨做為一個物件,其屬性分別做為各個業務物件的屬性。這樣有業務如果多次回訪問時,就要有多個業務記錄來對同一個業務問題進行記錄。

相關文章