問題タブ [cascade]
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 - 1対多の休止状態にすることのベストプラクティスは何ですか
これは一般的なシナリオだと思います。Hibernateに1対多のマッピングがあるとしましょうCategory
:Items
カテゴリー:
アイテム:
すべて正常に動作します。私はのライフサイクルCategory
を完全に制御するために使用します。Item
しかし、更新するコードを書いているときはCategory
、まずCategory
DBから抜け出します。次に、それをUIに渡します。ユーザーは、変更された値を入力しCategory
て返します。ここで問題が発生します。Category
情報を渡すだけで、ではないためItems
、Items
コレクションは空になります。を呼び出すとsaveOrUpdate
、すべての関連付けが消去されます。
これに対処するための最善の方法について何か提案はありますか?Category
制御することの利点はItems
、順序を簡単に維持できることItems
と、双方向で混乱しないことだと思います。
Category
しかし、自分自身を更新したい状況はどうですか?最初にロードしてマージしますか?
java - Hibernate。2つの関数:simpleSave()、saveWithCascade()。それはできますか?そしてどうやって?
私が持っているシナリオがあります:いくつかの単純なプロパティ(int、Stringなど)と2セットの子を持つ親クラスParent。子供を設定するA; childrenBを設定します。
データベース内の親プロパティのみを保存/永続化し、その子にカスケードする関数saveWithCascade(Parent p)を持つ親simpleSave(Parent p)の保存関数を作成できますか?
後で編集:保存とは、実際には更新を意味します。プロパティまたはセットのみが変更されたことがわかっている場合は、休止状態で他のプロパティまたはセットが変更されたかどうかを確認するためだけに多くの選択を実行したくないためです。
java - 一対多関係におけるCascadeTypeの問題
互いに一方向の1対多の関係を持つ2つのクラスがあります。
データベースに FieldMapper のセットを含むオファーを保存したいと考えています。OneToMany で CascadeType.ALL を使用すると、次のエラーが発生しました。
CascadeType を別のものに変更すると、次のエラーが発生しました。
そして、ここに Offer を保存します:
他の場所ではセッションを使用しません。
tx.commit();
インラインスローは説明された例外をスローします。
ご協力いただきありがとうございます。
hibernate - Hibernateカスケードデバッグオプション
カスケード中に発生するさまざまなStackOverflowErrorsに遭遇しました。この再帰的な動作を引き起こすためにカスケードされているプロパティがわからないため、これらはデバッグに非常に時間がかかります。カスケードされているプロパティを具体的に教えてくれるログ設定やその他のデバッグ形式を知っている人はいますか?
sql - 関係を構築するための Microsoft Access クエリ
次の表があります。
列 ID と FullName を持つテーブルの親。ID は自動採番タイプの主キーです。列 ID、ParentID、および FullName を持つテーブルの子。ID は自動採番タイプの主キーです。ParentID は Number 型です。
次のクエリを使用して「カスケード削除」を構築し、親が削除されるとそのすべての子が自動的に削除されるようにします。
次のクエリを Access に入れます。
ALTER TABLE CHILDREN ADD CONSTRAINT ConstraintName FOREIGN KEY (PARENTID) REFERENCES PARENTS(ID) ON DELETE CASCADE
しかし、うまくいきません。「制約句の構文エラー」というエラー メッセージが表示され、「DELETE」という単語が強調表示されます。
どんな助けでも大歓迎です。
よろしく、セブ
php - 2列を調べるMySQLInnoDBカスケードルール?
次のMySQLInnoDBテーブルがあります...
テーブル「records」のfolderIDは、folderTypeの値に応じて、「foldersA」または「foldersB」のいずれかのIDを指すことができます。(0または1)。
不思議なんだけど:
folderAまたはfolderBのいずれかの行が削除されたときに、テーブルレコードの適切な行が自動的に削除されるように、CASCADEルールを作成する方法はありますか?
または、この状況では、テーブル「レコード」の行をプログラムで削除する必要がありますか?
助けてくれてありがとう!
nhibernate - NHibernate ManyToMany リレーションシップ カスケード AllDeleteOrphan StackOverflowException
マッピング テーブルを介して互いに ManyToMany 関係を持つ 2 つのオブジェクトがあります。ただし、保存しようとすると、スタックオーバーフロー例外が発生します。マッピングのコードは次のとおりです。
performermapping.cs を Cascade.None() に変更すると、例外はなくなりますが、イベント オブジェクトには関連付けられたパフォーマーがありません。
これを正しく書くにはどうすればいいですか?ありがとう
foreign-keys - DELETE CASCADE の MongoDB DBRef
MongoDB で「ON DELETE CASCADE」機能を持つ外部キーを持つ方法はありますか?
DBRef を一種の外部キーとして使用できることは知っていますが、参照が指すコレクション内のアイテムが削除されると、参照は null を返します。しかし、参照が属するアイテムが削除されることを望みます。どうすればいいですか?
それとも、物事を削除するたびにそれへの参照を確認する必要がありますか?
mysql - このマルチテーブル削除ステートメントをリファクタリングする方法
1つのクエリで1対多の関係を持つ行を削除するためのよりクリーンな方法を誰かが提案できますか?
これは機能しますが、私はusing
句またはをよく知らないdelete
ので、それがどのように機能するかを完全には理解していません。
私はこれがカスケードでよりきれいに行われることができるという考えを持っています、しかし私は制約の不合理な恐れを持っています。DBはMySQLです。
java - Hibernate - 1 対多の関係と orphanRemoval カスケード
Hibernateの参考書の第21章のように、基本的な1対多の親/子関係があります。
カスケードは子から親へのみです (子を削除しても親を削除したくないため、カスケードのみを保持します)。
親に子を追加して子を保存すると、TransientObjectException が発生します...
しかし、saveOrUpdate では、次の例外があります。
子を保存すると、カスケードを介して親が保存されるはずなので、本当にわかりません...何かアイデアはありますか?
UPDATE 1
親にコメントすると、問題は「orphanRemoval」に関連しているようです。
できます!
子を保存し、次に親を保存します。
しかし、親から子を削除するときに、カスケードを介して孤立を削除する必要があります。
更新 2
JIRA の問題を作成しました:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-5364
更新 3
修正されたようです :-)
http://opensource.atlassian.com/projects/hibernate/browse/HHH-2269