天天看點

批判Java持久化架構

批判Java持久化架構

原文寫得很不錯,詳見:http://fromapitosolution.blogspot.com/2008/12/criticism-of-java-persistence.html。

現簡要翻譯如下:

大多數應用程式都是資料驅動的,需要能夠通路表、修改資料。盡管持久化架構還存在許多問題,我們在開發應用程式時還是很需要它。否則SQL代碼将分散到應用程式的各個角落,導緻應用程式的醜陋和不可管理性。

持久化架構建立了一個資料庫層,并分隔了原來與其相關的邏輯。Java持久化解決方案主要有兩個分支:

1)Java标準解決方案:JDBC、EJB、JDO。

2)其它ORM映射架構:Hibernate、Toplink、Enterprise Object Framework、iBatis等。

讓我們來問一個基本問題,每個人都該問問自己,“這裡還有其它的更簡單、更強大的解決方案嗎?”很多開發者都在嘗試解決這個問題,最近的一個就是Sun,Sun公司在嘗試簡化EJB。實際上,這就是為什麼新的架構層出不窮的原因。

Ibrahim Levent描述了Java持久化架構易犯的23個錯誤:

1)對象-關系比對問題未解決

2)架構不能滿足應用架構所需

3)XML被濫用

4)未利用資料庫中繼資料

5)對象查詢語言是一條錯誤的路線

6)不要抛出SQL異常,它不是敵人

7)多資料源的困境

8)為什麼持久化對象是如此虛弱?

9)貧乏的事務管理

10)沉重的對象緩存

11)錯誤的鎖方法

12)持久化API能更簡化

13)位元組碼操縱問題

14)表内不需要的對象ID(OID)列,主鍵列已有

15)繼承無意義

16)主鍵和外鍵伴随新類而建立導緻許多不需要的類

17)缺少叢集支援

18)缺少資料庫事件

19)缺少授權認證

20)缺少動态規則

21)缺少自動代碼生成的對象模型工具

22)缺少審計跟蹤

23)缺少持久化對象調試工具

文章不錯,詳詳細了解請看原文。

下一篇: Netty架構