問題タブ [persistent-set]
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 - 初期化されていない永続コレクションからIDを取得します
Hibernate APIのドキュメントまたはSOを調べても、答えが見つからないという状況があります。
セットアップが切断されており、エンティティとコレクションをネットワーク経由で送り返します。ローカライズされたキャッシュを使用して一部の有線トラフィックを削減する方法を検討しています。セットを初期化せずに、永続コレクション(具体的には、PersistentSet)内のエンティティのIDを取得する方法があるかどうかを調べています。 ?
hibernate - Hibernate - PersistentSet の更新なし
JPA 2.0 標準を使用しており、永続化プロバイダーとして休止状態になっています。ElementCollections を使用しているときに、なぜ org.hibernate.collection.PersistentSet を更新できないのか知りたいと思っています。
PersistentSet の isRowUpdatePossible() メソッドは false を返します。更新可能な PersistentList と比較すると、Set は単なる更新ではなく複数の削除と挿入を実行します。
たとえば、エンティティが現在値 {1, 2, 3} を持つ Set を持っているとします。セットをクリアしてから {4, 5, 6} を追加して、セットを更新します。entityManager.merge(entity) 3 を呼び出すと、削除クエリと挿入クエリが実行されます。
上記の例でリストを使用すると、バインド値を使用して更新クエリが 1 つだけ実行されます。
クエリの数により、データベースが列の重複を回避できる場合は、リストを使用するという結論に至りました。
質問を要約すると
- org.hibernate.collection.PersistentSet が更新できないのはなぜですか? PersistentSet の isRowUpdatePossible() メソッドは false を返します。
- データベースが重複を処理できる場合、リストはセットよりも優れていますか?
これらの質問についての考えをいただければ幸いです。
java - Hibernate の PersistentSet を CopyOnWriteArraySet に変換する
次のクラスで CopyOnWriteArraySet を使用しているのは、単純にスレッド セーフな反復子が好きだからです。
ただし、CopyOnWriteArraySet を独自の PersistentSet (内部で HashSet を使用) に置き換える永続性のために Hibernate も使用します。
残念ながら、HashSet はスレッド セーフではないため、CopyOnWriteArraySet を元に戻したいと思います。
ここでの変換のベストプラクティスは何ですか?
私の個人的な素朴な試みは、セッターを次のように置き換えることです。
それはこの問題を回避する良い方法ですか?
java - セット内の新しいエンティティは永続化されません
JPA +Hibernate
このコードを使用して、新しいAvatarAttributeOwnership
(AAO
)を作成し、それをプレーヤーに割り当てています。ただし、新しいAAO
ものはデータベースに保持されません。
エンティティ:
sorting - grailsオブジェクトのpersistentSetをソートする方法は?
私は2つのドメインモデルを持っています:
コントローラ:
だからそして今私のgspで:
私の質問は、この「item.resources」をどのようにソートできるかということです。これは永続的な休止状態のセットです!これはマッピングソート名:'asc'で処理できると思いましたが、機能しません:-(
hibernate - Hibernate の PersistentSet を HashSet に変更する
2 つのデータベースのオブジェクトを比較するプログラムがあります。
2 つの異なるデータベースのオブジェクトがあり、それらを比較する必要があります。問題は、hibernate が persistentSet を返し、Java コレクションのみをサポートするため、プログラムが失敗することです。
このpersistentSetをHashSetに変更するエレガントな方法はありますか? 私はすでに Introspector アプローチを試しましたが、このコンパレーターではまだ動作しないようです。