0

現在、DBに一連のテンプレートを保持しています。アプリケーションでは、UIにドロップリストを提供して、ユーザーがそのテンプレートに基づいてレターを作成するために使用するテンプレートを選択できるようにします。したがって、テンプレートの説明を表示し、選択すると、templateIDをDBに渡してテンプレートを取得します。

これで、テンプレートのタイプを選択するためのUIを使用せずに、テンプレートからレターを生成するという新しい要件があります。私が言いたいのは、文字自体を生成するためにユーザーがアクションを実行するアプリケーションの特定のポイントは、使用する特定のテンプレートを識別するのに役立ちます。したがって、私の質問は、保存されたテンプレートを返すためにDBにクエリを実行するために何を渡すかです。templateIDを使用する必要があることはわかっています。私の質問は、このtemplateIDは、テンプレートがシステムに追加されるたびにシーケンスによって生成されるということです。したがって、このテンプレートがシステムに追加された後でのみ、templateIDを認識し、そのtemplateIDを使用して、文字を生成するアクションを呼び出すことができます。つまり、テンプレートレコードがシステムに追加された後の変更を意味します。

したがって、私の質問は、文字生成を呼び出すときにanotherIdentifierを渡し、その識別子を構成ファイルを使用してDBで生成されたシーケンスにマップし、新しいテンプレートがシステムに追加されるたびにこの構成ファイルを更新する必要があるということです。この問題に取り組むためのより良い方法はありますか?

4

1 に答える 1

0

あなたのシステムは

  • テンプレートを保存し、
  • ユーザーは実行時にテンプレートを作成できます。

また、実行時に作成されたテンプレートのテンプレート ID 番号を推測するのに問題があります。既存のテンプレートの ID 番号を知っているようです。(私は間違っているかもしれません。)

シーケンス ジェネレーターの名前に関係なく、シーケンス ジェネレーターを使用して行を挿入できる dbms は、最後に与えられた ID 番号を見つける方法も提供します。PostgreSQL は一般的なオープン ソースの dbms です。このような機能をいくつか提供します。1 つは nextval() で、シーケンスをインクリメントして新しい値を返します。マルチユーザー環境でも安全です。他の誰かの値ではなく、常に新しい値を返します。

dbms のドキュメントを調べて、それが提供する機能、およびそれらの機能と制限を確認する必要があります。

于 2012-04-09T13:21:06.017 に答える