它們有許多共同的特徵,包括:
因此,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...