Posted on 2008-10-13 10:25
帥子 閱讀(240)
評論(0) 編輯 收藏 所屬分類:
第一時間-業(yè)界新聞
Hibernate是一個基于Java的對象/關系(O/R)映射框架,今天發(fā)布了3.3版。InfoQ采訪了項目領導者Steve?Ebersole以了解該發(fā)布的一些情況及它向Hibernate增加的新特性。
Hibernate?3.3主要的新特性包括:
重新設計、模塊化JARs??現(xiàn)在有很多定義良好的JARs,而不是一個大的JAR文件 ??這使得用戶可以輕松了解依賴關系并將其最小化,同時還使得組織可以定制Hibernate, 移除不需要的部分? 基于Maven的構建??現(xiàn)在Hibernate使用Apache?Maven構建系統(tǒng)進行構建? 修補的緩存SPI??根據(jù)反饋重構了緩存系統(tǒng)以對不同的緩存區(qū)域的特性進行精細控制? JBoss?Cache?2.x集成??基于新的緩存SPI,現(xiàn)在可以輕松集成JBoss?Cache?2.x?
Ebersole還詳細說明了新的緩存系統(tǒng)和JBoss?Cache集成:
SPI的主要變化圍繞著如何在特定目的下構建緩存區(qū)域而展開。基本上Hibernate需要緩存區(qū)域完成四個不同的目的:?實體數(shù)據(jù)、集合數(shù)據(jù)、查詢結果及時間戳更新。以前的SPI試圖以單一方式處理這些不同類型數(shù)據(jù);本質(zhì)上它試圖以普遍的方式來對待數(shù)據(jù)緩存而不管所存儲數(shù)據(jù)?的特性。但是在實踐中我們發(fā)現(xiàn)很多時候緩存集成器需要考慮到那些不同特性。例如在集群緩存中,讓實體和集合數(shù)據(jù)及查詢和時間戳更新區(qū)域同時失效或許很有意?義。如果不基于區(qū)域名稱采取一些手段的話,以前的SPI是不可能處理這種混合匹配的。新的SPI使這些區(qū)別變得清晰明了。例如有一個叫做?“buildEntityRegion”或者“buildCollectionRegion”的方法,那么緩存集成器就可以確定特定區(qū)域的數(shù)據(jù)類型是可以?持有并構建一個恰當?shù)呐渲煤玫木彺?區(qū)域的。