問題タブ [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.
hibernate - 休止状態 ID ジェネレーター
hibernate 用のカスタム ID ジェネレーターを作成する方法についての優れたチュートリアルを知っている人はいますか?
hibernate - hibernate_sequences テーブルが誤ってリセットされた場合はどうなりますか?
ID注釈付きの休止状態を使用しています:
何らかの理由で、hibernate によって管理されている hibernate_sequences テーブルがリセットされました。すなわち。新しく挿入されたエンティティの ID (番号) は、古いエンティティよりも小さくなります。これは正常ですか?シーケンス値がリセットされる前の値に戻った場合、制約違反は発生しませんか?
はいの場合、hibernate_sequences テーブルを手動で編集してこれを停止するにはどうすればよいですか? 各テーブルの最大 ID を検索し、それを sequence_next_hi_value 値として設定するのと同じくらい簡単ですか?
ありがとう。
grails - GrailsプラグインのID生成を変更する
Grails用のプラグイン(Amazon S3プラグイン)を使用していますが、プラグインによって提供されるドメインオブジェクトがIdジェネレーターを指定していません。私はPostgresqlを使用しており、IDジェネレーターがIDである必要があります。
プラグインディレクトリにプラグインをコピーして、提供されたドメインオブジェクトを混乱させることはできますが、それはクリーンなアプローチのようには聞こえません。実行時に正しいID生成を追加できますか?あるいは、もっと良い方法があるかもしれません。
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
ですか?
前もって感謝します!
gwt - システムのシャットダウン後に IdGeneratorStrategy によって生成された使用済み ID を取得する
組み込みの Winstone サーバーで実行されている GWT を使用して Web アプリに取り組んでおり、持続性マネージャーを使用して Derby をデータベースとして使用しています。
によって生成されるロング ID を持つ永続クラスを生成していIdGeneratorStrategy.IDENTITY
ます。
問題は、アプリケーションをシャットダウンするIdGeneratorStrategy
と、同じ ID でこのクラスのオブジェクトを作成しようとすることです。これは、データベース内で別のオブジェクトに既に指定されている同じ ID が既に指定されていることを認識していないためです。 2 つの制約に同じ列セットがあります。
IdGenerator
そのため、最新の ID を取得して別の新しい ID を作成する ように伝える必要があります。
このジェネレーターで可能ですか?
または、ID をデータベース内のテーブルに保存し、常に最後の ID を取得して「手動で」生成する必要がありますか?
oracle10g - シーケンスは 1 ではなく 50 増加します
Oracle シーケンスを作成しました。
シーケンス seq_acteurs を作成し、1 ずつインクリメントします。
Acteurs
通常、シーケンスは 1 ずつインクリメントする必要がありますが、テーブルに挿入すると、シーケンスs
は 50 ずつインクリメントされます。それは論理的ではないようです。これはなぜですか?
どんな助けでも大歓迎です。
c# - マッピング ファイルの NHibernate ID Generator セクションで、assigned と select の意味は何ですか?
マッピング ファイルの ID ジェネレーター セクションで、NHibernate
assigned と select の意味は何ですか?
mysql - MySQL5アトミックIDジェネレーター
私のロジックは、INSERTの前にテーブルのIDを知る必要があります(挿入中にIDを手動で設定します)。このIDを使用するロジックは複数のサーバー上にあるため、mysqlにIDを作成させることは良い考えかもしれませんが、私が書いた関数はアトミックではないため、高負荷で呼び出すと、一意ではなく同一の番号が返されます。
最後のIDを格納し、新しいIDごとにインクリメントするために、1つの列「id」を持つテーブル「document_log_sequence」を使用しています。たぶん解決策はこれからは程遠いですが、私にはこれ以上のアイデアはありません。
説明するのを忘れました。データベースサーバーは1つだけで、クライアントの数はn個です。上記の関数は(一種の)スレッドセーフではありません。
hibernate - Hibernate: カスタム ID ジェネレーターはエンティティを永続化する必要があります
Hibernate 用のカスタム Id ジェネレーターを実装しています。私の生成メソッドでは、別のテーブルから読み取り、そのデータを変更する必要があります。それは(約)私がそれを行う方法です:
それはうまくいきますが、ジェネレーターでどのように使用できますか。generate-method はSessionImplementor
ではなく を取得しSession
ます。エンティティを永続化するにはどうすればよいですか?
何か案は?
java - 休止状態で生成されたIDを設定中にエラーが発生しました
データベースに保存する必要があるStudent
オブジェクトがあります。id :studentId
は HBM のように定義されています :-
さて、IDを生成するために、以下のように、休止状態のソースに存在していたのと同じように、一般的に実装したコードを書きました:-
今、コード行persister.setIdentifier(entity, id, EntityMode.POJO);
に到達すると、次の例外が発生します:-
休止状態から同じコードを選択したため、エラーを理解できないため、助けてください。あちらでも正しく動作する場合、このコードはここでも動作するはずです。
ありがとう