我有一個關於hibernate-annotations jar在我的maven項目中的位置的具體問題。Hibernate依賴關係在多層應用程序中的位置
我的項目由三個模塊組成。模塊客戶端和服務器都取決於共享模塊。 Maven構建了兩個部署包:Client + Shared和Server + Shared。
帶註釋的Hibernate實體位於共享模塊中,因爲我需要在客戶端和服務器之間(通過RMI)傳遞它們。
現在來了我的問題。 hibernate-annotations.jar被用作Shared模塊的依賴,以允許編譯Hibernate實體。庫本身依賴於hibernate-core。因此,我在已部署的客戶端應用程序中使用了hibernate庫,即使我並不真的需要它們。罐子很大,我想盡量讓客戶儘量瘦。
有沒有一些成熟的技術來避免這個問題?想到的一點是使用基於XML的Hibernate配置,所以我可以將Hibernate依賴關係移到服務器模塊,但我想堅持註釋。
謝謝。
是,創建用於客戶端 - 服務器通信的DTO。 – Smutje
你能對此更具體嗎?據我瞭解,我的項目結構完全一樣。帶註釋的DTO在客戶端和服務器之間共享,因此在兩個模塊中都需要hibernate庫。 –