偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

JDO、EJB CMP、Hibernate和Amber比較

開發(fā) 后端
本文介紹JDO、EJB CMP、Hibernate和Amber比較,分別介紹了他們的優(yōu)點和缺點。

JDO、EJB CMP、Hibernate和Amber比較

JDO的優(yōu)點:
◆JDO的生命周期狀態(tài)機(lifecycle state machine)是正確的用法。任何其它的O/R映射工具都應(yīng)該使用JDO的生命周期或者它的子集(例如:如果不支持事務(wù))。記住,JDO生命周期是為 JDO實現(xiàn)服務(wù)的。大部分用戶不需要了解其中很復(fù)雜的內(nèi)幕。網(wǎng)頁Amber生命周期中有些圖示。
◆PersistentManager API對如何管理JDO對象的狀態(tài)有一定的優(yōu)勢和價值。

JDO的缺點:
◆查詢(query)支持不完全。它應(yīng)該使用類似Hibernate的HSQL查詢語言,并使用java.sql.ResultSet作為查詢結(jié)果。
◆用于重載方法的字段擴展讓人覺得比較混亂。最好使用類似Hibernate或者EJB/CMP的方法,并重載它們。

Hibernate的優(yōu)點:
◆有著正確的數(shù)據(jù)模型。以POJO為基礎(chǔ)的模型是個正確的方向。
◆可配置性(例如對象之間的關(guān)系)是個很好的基礎(chǔ)。
◆HSQL正是O/R映射語言應(yīng)該有的。
◆有著完整的API
◆采用簡明的Session類作為控制流的清洗器,因為它沿用了Connection的模型

Hibernate的缺點:
◆沒有使用JDO生命周期,這是不正確的做法。
◆API(例如查詢)還是有點混亂。It's better than the alternative, but using java.sql.ResultSet as the foundation would clean it up.
◆API如果作為一個規(guī)范的話,還是不夠干凈。例如,在使用查詢參數(shù)(query parameters)時,存在一些應(yīng)用漏洞。
◆我不認為使用類名作為表的標(biāo)識是件好事。

EJB CMP的優(yōu)點:
◆采用工廠類(指Home)查找實例比向Session/Connection對象傳遞參數(shù)獲取實例要好。
◆ejbSelect跟上面說的類似。
◆查詢名稱使用abstract schma是一個很好的解決方案。
◆理論上來說,這種模式在某些方案中可以有更好的復(fù)用性。

EJB CMP的優(yōu)點:
◆CMP不屬于EJB規(guī)范。它并不是個合適的模型去實現(xiàn)這個目的。已經(jīng)沒有合適的(例如非官方)借口去讓EJB3.0中保留CMP。

Amber優(yōu)點:
◆使用JDBC ResultSet和PreparedStatement做查詢

出于某些原因,O/R映射工具通常拋棄強大的ResultSet和PreparedStatement API,而創(chuàng)建自己一套并不是很合適的替代品。O/R查詢器應(yīng)該使用一個外部的SQL(例如HSQL)作為查詢語言,并使用ResultSet作為結(jié)果集,使用PreparedStatement處理查詢參數(shù)??梢栽黾悠渌腁PI作為查詢子集,就像查詢一個單獨的實體,但應(yīng)該使用ResultSet和 PreparedStatement作為基礎(chǔ)。

Amber缺點:
◆Amber的研究價值遠大于它的使用價值

【編輯推薦】

  1. EJB技術(shù)的歷史
  2. JavaBean與EJB的不同
  3. 基于EJB技術(shù)的商務(wù)預(yù)訂系統(tǒng)的開發(fā)
  4. EJB的分類及其各自的功能和應(yīng)用
  5. J2EE中EJB的專用術(shù)語解釋
責(zé)任編輯:佚名 來源: IT專家網(wǎng)
相關(guān)推薦

2009-06-26 14:37:10

EJB和Spring

2009-09-24 12:05:35

2009-06-11 15:26:05

EJB組件EJB容器

2009-06-12 09:30:56

EJB3.0Spring+Hibe

2009-06-22 16:19:45

JavaBeansEJBPOJO

2009-06-12 12:46:59

EJB3.0

2009-06-26 14:29:03

2009-06-11 16:01:17

EJB容器

2009-06-11 16:53:09

什么是EJBEJB

2009-06-12 09:41:07

EJB3.0Spring

2011-04-19 09:14:59

Ibatis

2009-06-18 13:29:05

Hibernate下載Hibernate安裝

2009-06-22 16:59:33

POJOSpringEJB 3.0

2009-09-22 15:26:30

Hibernate多表

2009-06-11 16:25:44

EJB2.0EJB

2009-06-12 10:16:27

EJB分類

2009-10-29 09:52:55

OSGi

2009-09-22 13:09:06

Hibernateorm框架

2009-09-22 11:27:41

模型對象Hibernate

2009-06-12 11:06:35

EJB技術(shù)
點贊
收藏

51CTO技術(shù)棧公眾號