2015-08-28 43 views
0

在我的Java應用程序中,我試圖儘可能嚴格地分離業務模型和持久性模型。所以我有一套由Hibernate + Spring Data支持的持久化實體,具有關係,級聯,延遲加載和其他功能。 但是,我有一個商業模式,作爲一組不同的實體,它們在某些方面被映射到持久的實體上。業務層面的延遲加載

只要Hibernate不知道這個水平,沒有延遲加載那裏。 我該如何製作它?有沒有解決方案或常見的/更好的做法來實現延遲加載,而無需在業務級別存儲外部密鑰(和其他持久性東西)?

我的目標是使業務和持久之間的聯繫軟越好。我明白,只要我轉向實體關係,並從業務層面引入一些數據庫加載,這些級別就會彼此綁定。但是有什麼方法可以最小化依賴性?

P.S.我確實需要以任何可能的方式延遲加載本身。

+0

如果業務層中的實體映射到持久層中的實體,是不是僅僅在持久性中進行延遲加載? –

回答

0

這是最好的分裂域成兩個獨立的Bounded Contexts完成。這意味着您將無法直接引用非延遲加載域中的延遲加載上下文。你將不得不退出到服務層來引用它。無論如何,這可能是您正在尋找的模式,如果延遲加載的信息的檢索成本太高。

這將推動應用程序的設計在相當高的水平,所以準備重構的東西,使這項工作。