2011-12-17 34 views
0

好吧,我有一個預留對象,它存儲所有預訂的事件的所有細節。現在需要批准的活動必須由三個不同的用戶查看。每次預定時,都應該分配這三個。現在,當預約請求被三者中的任何一個審查並給出響應時,該用戶必須被標記爲他作出了迴應。JAVA存儲選項

我需要存儲以下類似

User1 ----> Response & Type & ID 
User2 ----> Response & Type & ID 
User3 ----> Response & Type & ID 

所以當USER1例如審查和接受,然後我訪問這樣

reservationInstance.approvers.user1.response(true); 

只是過程的一個例子,而不是實際的代碼。最好的建議是什麼?並可以提供澄清的代碼嗎?我將致力於其定製

+1

*「並且可以提供澄清的代碼嗎?」*當然,發佈您喜歡的任何短代碼樣本。 – 2011-12-17 14:56:11

+0

@AndrewThompson嗯,我不能發佈代碼,因爲我所有的都是創建多個類來實現上述,因此我要求一個可能的快捷方式比訪問所有這些對象。 – 2011-12-17 14:58:47

回答

1

您的預訂不必擁有一個List/Set批准者,一個就足夠了。既然你提到:

現在,當預約請求由任何三個,和 響應給出的審查,該用戶必須被標記,他的反應。

預訂可能有一個Approver屬性,它將是類型用戶,用於存儲哪個用戶查看了該預留並給出了響應。在數據庫層中,這可以是用戶表的外鍵。

如果你想知道哪個用戶(1,2或3)已經查看過。只是reservationInstance.getApprover().getUserId() (假設你的用戶類有一個UserID屬性。)

編輯

要清楚基於評論:

你有訂座艙位:

Reservation: 
- Integer id 
- User approver 
- String content 
- List<User> recievers 
- String (could be enum) status (created, approved...etc.) 

您有用戶級別

User: 
- Integer id 
- String name 
- String foo 
- ... 

如果我理解您的要求,請執行以下操作:

創建預留實例時,會設置一組用戶作爲接收者。這意味着,這些用戶將會收到預訂。在你的情況下,也許有3個用戶。在這裏你發送電子郵件,傳真,短信給他們。

然後,說user2(id = 2),打開它,並批准此預留。 reservation.approver將被設置爲用戶對象(id = 2)。和此狀態(如果有狀態要求)將更改爲「已批准」或「已回覆」...

我不知道您確切的要求是什麼,但希望這有助於。

+0

所以我必須保留一個用戶類,我將每次預約實例化3次?數組/列表怎麼樣?我真的不想讓數據庫中的映射覆雜化。 – 2011-12-17 15:00:40

+0

不,創建/實例化Reservation時,Reservation.approver爲空。只有當一個用戶查看(這與您的業務邏輯有關)時,該用戶被設置爲此預約實例的批准者。該映射根本不復雜。只是一對多的關係。預訂(*)< - 審批人 - >(1)用戶 – Kent 2011-12-17 15:04:19

+0

是的,但事情是用戶必須在預訂後預定義。電子郵件將發送給他們,一個新的預訂。也許是吧,我應該只使用封裝所有細節的用戶類? – 2011-12-17 15:06:57