2012-02-26 9 views
0

Scott AmblersのChoosing a Primary Key: Natural or Surrogate?ページを参照してください。Scott Amblers High-low(オブジェクト識別)戦略の実装とDORM

抜粋:

高の低い戦略。基本的な考え方は、永続オブジェクト識別子(POID)または単にオブジェクト (OID)と呼ばれる のキー値が2つの論理部分にあることです。 アプリケーションが割り当てたN桁のLOW値。 HIGH値が得られる度に、 LOW値はゼロに設定されます。

私はDORM(ダニエル・テティによってデルファイORM)に興味と誰かがすでにそれのためのハイ/ロー戦略を実施しているかどうかを知りたいと思います。

任意の入力を歓迎します。

編集1:

質問の範囲を狭める:

  • 私はおそらく同様IdormKeysGeneratorを実装する必要が
  • RDMSのバックエンドとして Firebirdのを使用したいです〜 dorm.adapter.Firebird.TFirebirdTableSequence

編集2:

  • HIGH値が割り当てがクライアントresponsabilityあるサーバー
  • 低い値に保持されます。

通常のアロケータは、LOW値(クラスとして実装されています)に対して行うと思います。

答えて

1

現在、DORMはサロゲートキー(整数または文字列)のみをサポートしています。内部ロードマップでは、自然(マルチフィールドキー)キーがサポートされています。いくつかの内部構造は、複数のフィールドキーをサポートする準備ができていますが、まだ実装されていません。高低戦略は計画されていませんが、それほど困難ではありません。

P.S.すべてのオープンソースプロジェクトと同様に、気軽に投稿してください:-)

関連する問題