我開始與一家中等規模的公司合作,主要致力於編寫與其ERP系統交互的定製應用程序。這是我第一次做這樣的工作,所以ERP概念對我來說是新的,我正在學習它的零食。(N)休眠:與關係的核心/主映射
到目前爲止,我只寫了兩個應用程序,並且已經學會了數據庫模型,只有盡我所需完成工作,但即使數量有限,我也可以開始看到一個大的圖像形成。然後,我的想法是編寫一個庫,其中存儲了所有映射/模型對象,以便新應用程序可以引用此庫。之後,每個應用程序將創建自己的存儲庫,從而僅限於訪問他們需要的內容以及有意義的觀點。
我遇到的問題是如何處理(N)Hibernate映射中的關係。如果我有一個在這個基礎庫中映射完整關係的訂單對象,那麼沒有任何東西阻止某人永遠旅行這些關係(只有我是唯一的程序員......)。因此,使用存儲庫作爲範圍的一種限制在這個意義上根本不起作用。
如果相反,我限制此訂單對象在(N)Hibernate映射中的關係,則存儲庫將返回一個僅與其範圍所需關係綁定的訂單對象。缺點是我現在必須爲每個項目創建映射,而不是有一個「映射存儲」。
其他人如何處理這個問題?
一種無關的,但我也一直在翻譯(N)Hibernate持久對象,可能包含幾個關係成一種單非持久對象更適合特定的應用程序(通常受到更多的影響UI)。這是一件常見的事情,還是我將(N)Hibernate的一些好處帶回去,將返回的對象和它們翻譯成其他東西?
ps。關於DDD標籤...我不知道這是否是DDD詳細描述的內容,但我確實訂購了該書。儘管如此,我不確定是否有很好的資源可供閱讀。