翻譯DB4O參考——Object Container
ObjectConatainer
Db4o給你簡單直接的接口來實現(xiàn)對象的持久化,這就是ObjectContainer.在.NET版本里,相應的名字是IObjectContainer。
ObjectConatainer 是你的Db4o的數(shù)據(jù)庫。
Java:ObjectContainer container = Db4o.openFile(filename)
帶有路徑的文件名是你要存儲對象的文件。通常,當應用開始,你應該打開一個ObjectContainer,并在這個session 結束把對對象的改動持續(xù)化到物理存儲設備上時關閉ObjectContainer.
(通常而言,打開一個ObjectContainer 表示一個新的session)
Java:container.close()
ObjectContainer 提供給用戶持續(xù)化對象的所有基本的方法。通常而言,你能保存,修改一個對象通過 ObjectContainer#set(object)
刪除的方法如下:
ObjectContainer#delete(object)
通過ObjectContainer#get(object),你可以得到對象。
ObjectContainer的獨特的功能如下:
???????? 一個ObjectContainer既可以采用單用戶模式,也可以通過客戶端連接DB4O的服務端。
???????? 每一個ObjectContainer 有自己的事務,所有的操作都在事務中。當你打開一個ObjectContainer時,你就處于一個事務中,當你調用
? ? ? ? ? commit()? 或者roolback()這個事務被立即執(zhí)行。
???????? 每個ObjectContainer保持自己的應用來存儲和持續(xù)化對象。通過這樣,它保證對象的一致性并實現(xiàn)了高性能。
??????? ObjectContainer對你而言是開發(fā)的,只要你的應用依賴于它。當你關閉ObjectContainer,在內存中所有數(shù)據(jù)庫對象引用被收集。
??????? ObjectContainer提供的基本功能足夠滿足你使用DB4O數(shù)據(jù)庫,其他高級接口是繼承了ObjectContainer的ExtObjectContainer.
分開基本與高級功能的基本思想是:
?????? 保證根包于命名空間比較小,和有好的可讀性。
?????? 分離主要的和可選的功能。
?????? 使其他產品比較容易實現(xiàn)基本DB4O接口。
????? 展示一個輕量級的DB40.
每一個ObjectContainer也是ExtObjectContainer.你可以直接把它強制轉換為
ExtObjectContainer,也可以通過ext()方法得到ExtObjectContainer使用高級特性。
posted on 2007-03-12 16:41 advincenting 閱讀(1797) 評論(0) 編輯 收藏 所屬分類: 數(shù)據(jù)庫相關