中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java Persistence API 的陷阱是怎樣的

發布時間:2021-11-20 16:21:47 來源:億速云 閱讀:117 作者:柒染 欄目:編程語言

Java Persistence API 的陷阱是怎樣的,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

JPA是Java EE 5很重要的一部分,它的采用大大簡化了Entity Bean的使用。但JPA有一個很明顯的缺陷,就是無原則地采用JPA,就有可能將數據庫結構移植到你的應用程序的代碼中。這將給應用程序的維護和升級帶來麻煩。

小編講的“無原則地采用JPA”,主要指通過Annotation對Entity Bean之間的關系進行定義。這些數據實體的關系,如一對多,一對一,多對一,多對多及關聯操作(cascade)等,很明顯是數據庫概念。為了實現ORM的目的,JPA不得不將其在Entity源代碼中定義這種關系。

這在很大程度上,將數據庫的結構與設計移植到了應用程序中。這有以下幾個問題:

一,應用程序源代碼可讀性差數據庫結構的復雜程度,幾乎完全取決于應用的業務邏輯。如果業務邏輯復雜,對Entity Bean的關系定義將很困難。可以想象,其代碼的可閱讀性將很差。

二,應用程序的可維護性差一旦數據庫結構因業務需求而發生變化,這些關系將需要重新定義。

三,對較復雜的數據庫結構關系進行定義幾乎是不現實的這也是ORM本身的局限性。將數據庫結構移植到應用程序中本身就是個錯誤方向。關系數據庫主要在于“關系”二字,因為數據庫關心的是數據及其完整性(Data)。而應用程序采用OOP的開發手段,關心的是系統內部各“物件(Object)”的動作(Operation)。數據是應用程序的狀態;動作是應用程序的業務邏輯。狀態和動作是構成應用程序的兩大要素,二者缺一不可。而ORM試圖忽視狀態而抬高動作,豈不知“動作”的最終結果要落實在“狀態”的改變上。

關于Java Persistence API 的陷阱是怎樣的問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

洞头县| 长岭县| 阳曲县| 甘洛县| 景宁| 顺义区| 石渠县| 中方县| 南召县| 巴林左旗| 阿克苏市| 武强县| 石泉县| 邯郸县| 珠海市| 志丹县| 巴彦淖尔市| 正镶白旗| 延津县| 永善县| 白银市| 策勒县| 英吉沙县| 奎屯市| 黔南| 东辽县| 平安县| 闵行区| 桑日县| 荥阳市| 库伦旗| 昌江| 临桂县| 牡丹江市| 清原| 唐河县| 三河市| 百色市| 南京市| 河池市| 巍山|