問題タブ [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.

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

java - 初期化されていない永続コレクションからIDを取得します

Hibernate APIのドキュメントまたはSOを調べても、答えが見つからないという状況があります。

セットアップが切断されており、エンティティとコレクションをネットワーク経由で送り返します。ローカライズされたキャッシュを使用して一部の有線トラフィックを削減する方法を検討しています。セットを初期化せずに、永続コレクション(具体的には、PersistentSet)内のエンティティのIDを取得する方法があるかどうかを調べています。 ?

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

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 つだけ実行されます。

クエリの数により、データベースが列の重複を回避できる場合は、リストを使用するという結論に至りました。

質問を要約すると

  1. org.hibernate.collection.PersistentSet が更新できないのはなぜですか? PersistentSet の isRowUpdatePossible() メソッドは false を返します。
  2. データベースが重複を処理できる場合、リストはセットよりも優れていますか?

これらの質問についての考えをいただければ幸いです。

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

java - Hibernate の PersistentSet を CopyOnWriteArraySet に変換する

次のクラスで CopyOnWriteArraySet を使用しているのは、単純にスレッド セーフな反復子が好きだからです。

ただし、CopyOnWriteArraySet を独自の PersistentSet (内部で HashSet を使用) に置き換える永続性のために Hibernate も使用します。

残念ながら、HashSet はスレッド セーフではないため、CopyOnWriteArraySet を元に戻したいと思います。

ここでの変換のベストプラクティスは何ですか?

私の個人的な素朴な試みは、セッターを次のように置き換えることです。

それはこの問題を回避する良い方法ですか?

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

java - セット内の新しいエンティティは永続化されません

JPA +Hibernate

このコードを使用して、新しいAvatarAttributeOwnershipAAO)を作成し、それをプレーヤーに割り当てています。ただし、新しいAAOものはデータベースに保持されません。

エンティティ:

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

sorting - grailsオブジェクトのpersistentSetをソートする方法は?

私は2つのドメインモデルを持っています:

コントローラ:

だからそして今私のgspで:

私の質問は、この「item.resources」をどのようにソートできるかということです。これは永続的な休止状態のセットです!これはマッピングソート名:'asc'で処理できると思いましたが、機能しません:-(

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

hibernate - Hibernate の PersistentSet を HashSet に変更する

2 つのデータベースのオブジェクトを比較するプログラムがあります。

2 つの異なるデータベースのオブジェクトがあり、それらを比較する必要があります。問題は、hibernate が persistentSet を返し、Java コレクションのみをサポートするため、プログラムが失敗することです。

このpersistentSetをHashSetに変更するエレガントな方法はありますか? 私はすでに Introspector アプローチを試しましたが、このコンパレーターではまだ動作しないようです。