問題タブ [hilo]
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.
java - Postgres の Bad Integer 2147483649 (その BIGINT 値) エラー
ヒロ キー ジェネレーターと Postgres 9.3 で休止状態 3 を使用しています。テーブル列は BIGINT で、モデル クラス変数は long(java) です。
バックエンドからは問題ありませんが、フロントエンド コンソールから保存しようとすると、Bad Integer '2147483649' エラーが表示されます。テーブル スキーマは次のとおりです。
モデルクラス:
}
エラー スタック トレース:
c# - Nhibernate は、Oracle データベースを使用して HiLo テーブルから読み取ることができません。(テーブルから hi 値を読み取ることができませんでした) これは既知のバグですか?
設定:
- Oracle 11g Enterprise Edition リリース 11.2.0.1.0 64 ビット プロダクション
- Oracle 12.1.0.22 のヒキガエル
- ニバネート 4.0.0.4000
- Fluent Nhibernate 2.0.1.0
- プロジェクトは C# 4.5.1 で開発されます
流暢な構成:
流暢なコンベンション:
Nhibernateから生成された SQL ステートメント: select NEXTHIVALUECOLUMN from NEXTHIVALUETABLE where TABLENAME = 'MYSAMPLETABLE' for update
ステートメントを使用してテーブル NEXTHIVALUETABLE から hi 値を読み取ることができなかったというエラーがスローされます。上記のステートメントをToadで直接実行し、完全に正常にSQLiteテーブルを実行しています。
Nhibernate.Id 名前空間からの Command.ExecuteReader クラス (193 行目) の command.ExecuteReader ステートメントを使用して Nhibernate アセンブリを逆アセンブル (resharper を使用) すると、レコードが返されないため、この例外がスローされます。
DoWorkInCurrentTransaction メソッドからのクイック コード:
java - Hibernate HiLo エンティティ識別子オプティマイザー戦略を有効にする方法
次のような方法で、XMLなしでHibernateを初期化しています
私のクラスは次のようなIDを使用します
使用されているジェネレーターは でありSequenceStyleGenerator
、これは非推奨のSequenceGenerator
andなどの代わりになるSequenceHiLoGenerator
ようです。それは使用しています
経由で構成を許可しているようです
しかし、それは私が見つけることができたすべてです。プロパティ「xxx.yyy.increment_size」を設定するか、別の方法で Hibernate に渡す必要があると思いますが、方法がわかりません。
は承知しているが@SequenceGenerator
、完全に無視されているようだ
entity-framework-core-2.2 - Entityframework コアを介して厳密に型指定された Id と Hilo 戦略を実装する
Id として Int のようなプリミティブ型を使用する代わりに、CategoryId オブジェクトのように「厳密に型指定された」ものを使用するプロジェクトに取り組んでいます。EntityFramework Core を HiLo 戦略と併用したいのですが、EntityFramework は整数フィールド/プロパティの Hilo のみをサポートしているようです。entityframework が厳密に型指定された Id で Hilo をサポートしているかどうかを知る必要があります。はいの場合、どのように構成する必要がありますか。前もって感謝します
更新:正確に何をしたかを明確にするために、「TaskId」という名前の厳密に型指定された Id を含む「Task」という名前のクラスがあると仮定します。Fluent API を使用して、このエンティティを次のように構成します。
それでも万事順調。しかし、エンティティ「タスク」に Hi-Lo 戦略を使用することにした場合、問題が発生します。HasConversion() の後に ForSqlServerUseSequenceHiLo() メソッドを使用すると、移行を追加するまでにエラーが発生します。このメソッドは整数型のプロパティにのみ適用されるとのことです! 厳密に型指定された Id で Hi-Lo を使用するのが実用的かどうかはわかりません。また、可能であれば解決策を教えてください。
hibernate - Hibernate のプールされた ID ジェネレーターとプールされた ID ジェネレーター
この記事 ( https://vladmihalcea.com/hibernate-hidden-gem-the-pooled-lo-optimizer/hilo
)では、シーケンス ジェネレーターのpooled
とオプティマイザーの違いについて説明しています。pooled-lo
また、hibernate 5 以降pooled
、割り当てサイズが 1 より大きい場合、オプティマイザがデフォルトとして使用されることも説明しています。
pooled-lo
オプティマイザーとデフォルトのオプティマイザーを使用する利点はありますpooled
か? for には、「next hi」値を取得するための追加のデータベース呼び出しが 1 つあることに気付きましたpooled
(計算の仕組みによると思います)。それ以外は、2つのパフォーマンスに違いがあるかどうかはわかりません。
pooled
がデフォルトとして使用されるのはなぜですか? そして、使用することに大きな利点はありpooled-lo
ますか?