我有許多表與表客戶端有一對一的關係,由Hibernate映射。如何在Java中使用One to One關係創建唯一數據庫記錄文件?
我需要後,每個線程使用這些表的選擇,以創造獨特的客戶端的文件。
各表(如發票,服務等)也將包含在文件中,但是客戶端列表之後(政府要求,不要問爲什麼...)。
我想到了3點不同的方式來做到這一點:
方法1:使用一個HashSet
我的客戶對象添加到HashSet的每個選擇之後。可悲的是,這個解決方案不具有可擴展性,因爲表B可能有數百萬個獨特的記錄,並可能導致OutOfMemory錯誤。
方法2:使用視圖
我還可以創建連接表視圖。問題是這些選擇有許多複雜的規則,並且經常發生變化。維護將是一場噩夢,因爲它需要我改變程序和視圖。
方法3:使用臨時表
我可以創建一個臨時表來存儲在每個表中找到客戶端對象,那麼該表進行選擇。
方法3似乎是,到目前爲止,最好的解決辦法,但我不知道是否有更好的方法來做到這一點。我怎樣才能改進我的設計?
方法3對我來說很不錯。另一種方法是分佈式緩存。 – kan 2013-04-04 19:44:43