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

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

hibernate - 1対多の休止状態にすることのベストプラクティスは何ですか

これは一般的なシナリオだと思います。Hibernateに1対多のマッピングがあるとしましょうCategoryItems


カテゴリー:

アイテム:


すべて正常に動作します。私はのライフサイクルCategoryを完全に制御するために使用します。Itemしかし、更新するコードを書いているときはCategory、まずCategoryDBから抜け出します。次に、それをUIに渡します。ユーザーは、変更された値を入力しCategoryて返します。ここで問題が発生します。Category情報を渡すだけで、ではないためItemsItemsコレクションは空になります。を呼び出すとsaveOrUpdate、すべての関連付けが消去されます。

これに対処するための最善の方法について何か提案はありますか?Category制御することの利点はItems、順序を簡単に維持できることItemsと、双方向で混乱しないことだと思います。

Categoryしかし、自分自身を更新したい状況はどうですか?最初にロードしてマージしますか?

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

java - Hibernate。2つの関数:simpleSave()、saveWithCascade()。それはできますか?そしてどうやって?

私が持っているシナリオがあります:いくつかの単純なプロパティ(int、Stringなど)と2セットの子を持つ親クラスParent。子供を設定するA; childrenBを設定します。

データベース内の親プロパティのみを保存/永続化し、その子にカスケードする関数saveWithCascade(Parent p)を持つ親simpleSave(Parent p)の保存関数を作成できますか?

後で編集:保存とは、実際には更新を意味します。プロパティまたはセットのみが変更されたことがわかっている場合は、休止状態で他のプロパティまたはセットが変更されたかどうかを確認するためだけに多くの選択を実行したくないためです。

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

java - 一対多関係におけるCascadeTypeの問題

互いに一方向の1対多の関係を持つ2つのクラスがあります。

データベースに FieldMapper のセットを含むオファーを保存したいと考えています。OneToMany で CascadeType.ALL を使用すると、次のエラーが発生しました。

CascadeType を別のものに変更すると、次のエラーが発生しました。

そして、ここに Offer を保存します:

他の場所ではセッションを使用しません。

tx.commit();インラインスローは説明された例外をスローします。

ご協力いただきありがとうございます。

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

hibernate - Hibernateカスケードデバッグオプション

カスケード中に発生するさまざまなStackOverflowErrorsに遭遇しました。この再帰的な動作を引き起こすためにカスケードされているプロパティがわからないため、これらはデバッグに非常に時間がかかります。カスケードされているプロパティを具体的に教えてくれるログ設定やその他のデバッグ形式を知っている人はいますか?

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

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」という単語が強調表示されます。

どんな助けでも大歓迎です。

よろしく、セブ

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

php - 2列を調べるMySQLInnoDBカスケードルール?

次のMySQLInnoDBテーブルがあります...

テーブル「records」のfolderIDは、folderTypeの値に応じて、「foldersA」または「foldersB」のいずれかのIDを指すことができます。(0または1)。

不思議なんだけど:

folderAまたはfolderBのいずれかの行が削除されたときに、テーブルレコードの適切な行が自動的に削除されるように、CASCADEルールを作成する方法はありますか?

または、この状況では、テーブル「レコード」の行をプログラムで削除する必要がありますか?

助けてくれてありがとう!

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

nhibernate - NHibernate ManyToMany リレーションシップ カスケード AllDeleteOrphan StackOverflowException

マッピング テーブルを介して互いに ManyToMany 関係を持つ 2 つのオブジェクトがあります。ただし、保存しようとすると、スタックオーバーフロー例外が発生します。マッピングのコードは次のとおりです。

performermapping.cs を Cascade.None() に変更すると、例外はなくなりますが、イベント オブジェクトには関連付けられたパフォーマーがありません。

これを正しく書くにはどうすればいいですか?ありがとう

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

foreign-keys - DELETE CASCADE の MongoDB DBRef

MongoDB で「ON DELETE CASCADE」機能を持つ外部キーを持つ方法はありますか?

DBRef を一種の外部キーとして使用できることは知っていますが、参照が指すコレクション内のアイテムが削除されると、参照は null を返します。しかし、参照が属するアイテムが削除されることを望みます。どうすればいいですか?

それとも、物事を削除するたびにそれへの参照を確認する必要がありますか?

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

mysql - このマルチテーブル削除ステートメントをリファクタリングする方法

1つのクエリで1対多の関係を持つ行を削除するためのよりクリーンな方法を誰かが提案できますか?

これは機能しますが、私はusing句またはをよく知らないdeleteので、それがどのように機能するかを完全には理解していません。

私はこれがカスケードでよりきれいに行われることができるという考えを持っています、しかし私は制約の不合理な恐れを持っています。DBはMySQLです。

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

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