問題タブ [id-generation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
22260 参照

hibernate - 休止状態 ID ジェネレーター

hibernate 用のカスタム ID ジェネレーターを作成する方法についての優れたチュートリアルを知っている人はいますか?

0 投票する
0 に答える
1978 参照

hibernate - hibernate_sequences テーブルが誤ってリセットされた場合はどうなりますか?

ID注釈付きの休止状態を使用しています:

何らかの理由で、hibernate によって管理されている hibernate_sequences テーブルがリセットされました。すなわち。新しく挿入されたエンティティの ID (番号) は、古いエンティティよりも小さくなります。これは正常ですか?シーケンス値がリセットされる前の値に戻った場合、制約違反は発生しませんか?

はいの場合、hibernate_sequences テーブルを手動で編集してこれを停止するにはどうすればよいですか? 各テーブルの最大 ID を検索し、それを sequence_next_hi_value 値として設定するのと同じくらい簡単ですか?

ありがとう。

0 投票する
2 に答える
1293 参照

grails - GrailsプラグインのID生成を変更する

Grails用のプラグイン(Amazon S3プラグイン)を使用していますが、プラグインによって提供されるドメインオブジェクトがIdジェネレーターを指定していません。私はPostgresqlを使用しており、IDジェネレーターがIDである必要があります。

プラグインディレクトリにプラグインをコピーして、提供されたドメインオブジェクトを混乱させることはできますが、それはクリーンなアプローチのようには聞こえません。実行時に正しいID生成を追加できますか?あるいは、もっと良い方法があるかもしれません。

0 投票する
2 に答える
924 参照

java - Hibernate/JPA 混合 ID 生成戦略

次のような状況があるとします: 5 つのエンティティ (簡単にするために縮小) があり、そのうちの 3 つはデータベースにレコードがほとんどないことを明確に知っています (それぞれ 15 ~ 20 程度)。残りの 2 つのエンティティには多くのレコード (数千) があり、急速に成長します。

デフォルトの Hibernate ID 生成戦略 ( AUTO) を使用すると、これは、すべてのレコードがすべてのエンティティにわたって一意の ID を持つことを意味します (シーケンスが 1 つしかないため)。これは、一部のテーブルに多数のレコードがあるため、ID が急速に増加することを意味するため、これには乗り気ではありません。

質問 #1 : 2 つの大きなエンティティの ID 戦略を再定義して、それぞれが独自のシーケンスを持ち、他をオンのままにすることはできAUTOますか? ID 戦略を組み合わせて使用​​することは、良い/悪い習慣と見なされますか? これを行うべき/すべきでない理由はありますか?

質問 #2 : Oracle 10g データベースを検討した場合、ID 生成戦略に関する長所と短所はありますか? 例えば; TABLEの代わりに使用する方が良いSEQUENCEですか?

前もって感謝します!

0 投票する
1 に答える
164 参照

gwt - システムのシャットダウン後に IdGeneratorStrategy によって生成された使用済み ID を取得する

組み込みの Winstone サーバーで実行されている GWT を使用して Web アプリに取り組んでおり、持続性マネージャーを使用して Derby をデータベースとして使用しています。
によって生成されるロング ID を持つ永続クラスを生成していIdGeneratorStrategy.IDENTITYます。
問題は、アプリケーションをシャットダウンするIdGeneratorStrategyと、同じ ID でこのクラスのオブジェクトを作成しようとすることです。これは、データベース内で別のオブジェクトに既に指定されている同じ ID が既に指定されていることを認識していないためです。 2 つの制約に同じ列セットがあります。

IdGeneratorそのため、最新の ID を取得して別の新しい ID を作成する ように伝える必要があります。

このジェネレーターで可能ですか?

または、ID をデータベース内のテーブルに保存し、常に最後の ID を取得して「手動で」生成する必要がありますか?

0 投票する
3 に答える
5759 参照

oracle10g - シーケンスは 1 ではなく 50 増加します

Oracle シーケンスを作成しました。

シーケンス seq_acteurs を作成し、1 ずつインクリメントします。

Acteurs通常、シーケンスは 1 ずつインクリメントする必要がありますが、テーブルに挿入すると、シーケンスsは 50 ずつインクリメントされます。それは論理的ではないようです。これはなぜですか?

どんな助けでも大歓迎です。

0 投票する
2 に答える
5165 参照

c# - マッピング ファイルの NHibernate ID Generator セクションで、assigned と select の意味は何ですか?

マッピング ファイルの ID ジェネレーター セクションで、NHibernateassigned と select の意味は何ですか?

0 投票する
3 に答える
5109 参照

mysql - MySQL5アトミックIDジェネレーター

私のロジックは、INSERTの前にテーブルのIDを知る必要があります(挿入中にIDを手動で設定します)。このIDを使用するロジックは複数のサーバー上にあるため、mysqlにIDを作成させることは良い考えかもしれませんが、私が書いた関数はアトミックではないため、高負荷で呼び出すと、一意ではなく同一の番号が返されます。

最後のIDを格納し、新しいIDごとにインクリメントするために、1つの列「id」を持つテーブル「document_log_sequence」を使用しています。たぶん解決策はこれからは程遠いですが、私にはこれ以上のアイデアはありません。

説明するのを忘れました。データベースサーバーは1つだけで、クライアントの数はn個です。上記の関数は(一種の)スレッドセーフではありません。

0 投票する
1 に答える
708 参照

hibernate - Hibernate: カスタム ID ジェネレーターはエンティティを永続化する必要があります

Hibernate 用のカスタム Id ジェネレーターを実装しています。私の生成メソッドでは、別のテーブルから読み取り、そのデータを変更する必要があります。それは(約)私がそれを行う方法です:

それはうまくいきますが、ジェネレーターでどのように使用できますか。generate-method はSessionImplementorではなく を取得しSessionます。エンティティを永続化するにはどうすればよいですか?

何か案は?

0 投票する
3 に答える
3448 参照

java - 休止状態で生成されたIDを設定中にエラーが発生しました

データベースに保存する必要があるStudentオブジェクトがあります。id :studentIdは HBM のように定義されています :-

さて、IDを生成するために、以下のように、休止状態のソースに存在していたのと同じように、一般的に実装したコードを書きました:-

今、コード行persister.setIdentifier(entity, id, EntityMode.POJO);に到達すると、次の例外が発生します:-

休止状態から同じコードを選択したため、エラーを理解できないため、助けてください。あちらでも正しく動作する場合、このコードはここでも動作するはずです。

ありがとう