2012-02-26 39 views
0

我指的是Scott Amblers的Choosing a Primary Key: Natural or Surrogate?頁面。斯科特·安布勒斯高低(對象識別)戰略實施和DORM

摘錄:

高低價策略。基本思想是,您的關鍵值(通常稱爲持久對象標識符(POID)或簡單地標識爲(OID)的對象 )有兩個邏輯部分:您從定義的源獲得的唯一高值和 以及您的 應用程序自行分配的N位LOW值。每次獲得高值時,LOW值將被設置爲零。

我對DORM(Daniele Teti的Delphi ORM)感興趣,並想知道是否有人已經實施了高/低策略。

歡迎任何輸入。

編輯1:

要縮小問題的範圍:我想用火鳥作爲關係數據庫管理系統後端

  • 我很可能不得不實現IdormKeysGenerator相似到dorm.adapter.Firebird.TFirebirdTableSequence

編輯2:

  • 高價值被持久化的服務器
  • 低值分配是在客戶端上的責任。

我認爲一個普通的分配器會爲LOW值做(作爲一個類實現)。

回答

1

目前DORM只支持代理鍵(整數或字符串)。在內部路線圖中預定了自然(多字段鍵)關鍵支持。一些內部結構已準備好支持多字段鍵,但仍未實現。高低策略沒有計劃,但不應該這麼難。

P.S.就像每個開源項目一樣,隨時可以貢獻:-)