Hibernate與JDO肩並肩

2021-03-31 08:56:58 字數 1140 閱讀 7830

它們有許多共同的特徵,包括:

因此,jdo 和 hibernate 兩種版本的同一應用程式經常很相似。

關於如何裝載物件和執行查詢,我們來看看下面的例子。這裡有兩個版本的restaurantrepository類,乙個是jdo的,另乙個是hibernate的。 restaurantrepository類定義了尋找飯店的方法:

列表 1 顯示了jdo版的 restaurantrepository 類, 列表 2 顯示了hibernate 的版本。

列表 1 - jdo 版

public class jdorestaurantrepositoryimpl

implements restaurantrepositoryimpl

private static final string query_string =

"servicearea.contains(zipcode) && timeranges.contains(tr) && "

+ "(tr.dayofweek == day && "

+ "(tr.openhour < hour || (tr.openhour == hour && tr.openminute <= minute)) && "

+ "(tr.closehour > hour || (tr.closehour == hour && tr.closeminute > minute)))";

public collection findrestaurants(

address deliveryaddress,

date deliverytime) );

return result;}}

列表 2 - hibernate 版

public class hibernaterestaurantrepositoryimpl

implements restaurantrepositoryimpl }

每個 repository 由兩個方法組成。這兩個方法呼叫相應的 persistence framework api:

兩個類通過 threadlocal-based registry 得到 hibernate session 和 jdo persistencemanager。如你所見,除了方法和類的名字不同,其它code都非常相似。

Hibernate與JDO肩並肩

在theserverside.com上有一些人聲稱jdo的開發人員已經把jdo帶向錯誤的道路,並且指出hibernate相對更優秀。然而,根據我的經驗 它們有許多共同的特徵,包括 因此,jdo 和 hibernate 兩種版本的同一應用程式經常很相似。關於如何裝載物件和執行查詢,我們來看看下面的例子...

資料庫事務與JDO事務的對比

相對於全新的物件儲存而言 不管是純粹物件導向的資料庫,還是orm系統 關聯式資料庫除了不能按物件導向方式進行編碼外,其它許多方面都優於目前的物件儲存技術。拿事務來說,關聯式資料庫事務有如下幾個基本假設 1.事務發生在連線上,是由客戶端發起的。例如使用jdbc編寫程式,大致如下 建立到資料庫的連線 c...

Hibernate動態條件查詢並分頁

應用例項截圖 前台提交資料,使用者可以有選擇的進行填寫 好吧 還是直接上 吧.1.使用者接收前台頁面提交的資料dto,該類使用者接收商品commodity的資訊 public class commoditydto2.daoimpl層 override public listquerybyrestri...