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