我有一個關於使用JBoss Seam進行應用程序設計的最佳實踐的問題。 我打算實現一個基於Seam的應用程序,但我想保持實體模型鬆耦合。 (這是因爲我希望能夠在非Java EE環境中使用它) 我想到的一個解決方案是將額外的DTO層定義爲Seam組件,可用於在標記和實體之間傳輸信息。但我認爲這不是一個優雅的解決方案。如何將JBoss Seam應用程序中的實體模型外化?
在Seam應用程序中將實體模型外化的最佳實踐是什麼,但是能夠使用大部分Seam功能?
我有一個關於使用JBoss Seam進行應用程序設計的最佳實踐的問題。 我打算實現一個基於Seam的應用程序,但我想保持實體模型鬆耦合。 (這是因爲我希望能夠在非Java EE環境中使用它) 我想到的一個解決方案是將額外的DTO層定義爲Seam組件,可用於在標記和實體之間傳輸信息。但我認爲這不是一個優雅的解決方案。如何將JBoss Seam應用程序中的實體模型外化?
在Seam應用程序中將實體模型外化的最佳實踐是什麼,但是能夠使用大部分Seam功能?
通常,實體只是具有註釋屬性(JPA)的Java對象。因此,如果您在另一個應用程序中使用該模型,則只需擔心JPA註釋爲依賴項。這隻會是一個聲明並且沒有運行時間影響的jar。您是否對Seam中的實體有任何特別的計劃,例如:將它們用作實體bean(不確定好處),因此引入更復雜的依賴關係?一個更簡潔但更復雜的解決方案將是爲實體定義使用接口併爲不同的應用程序提供具體的實現,例如, JPA爲Seam註釋了bean,爲其他應用程序註釋了unannotated bean。這當然可以手動完成,或者在框架的幫助下完成。我使用Eclipse EMF來生成JPA模型,該模型被一個接口抽象爲用於其他應用程序,但由於EMF默認處理雙向依賴性等方式,所以有一些注意事項。