問題タブ [cascading-deletes]

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 に答える
168 参照

hibernate - 含まれる @OneToMany メンバーの削除順序

すべての @OneToMany メンバーに @OnDelete アノテーションがあります。親オブジェクトが削除されるとき、これらのオブジェクトが削除される順序はどうなりますか。オブジェクトが宣言されている順序であると想定しても安全ですか。

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

entity-framework - EF4 fluent API を使用して削除をリンク テーブルにカスケードするにはどうすればよいですか?

リンク テーブルによって関連付けられている既存の (MSSQL 2008 R2) データベースに 2 つのテーブルがあります。

2 つのテーブルは、「プラン」と「ヒント」です。リンク テーブルは「PlanTipLinks」です。

プランには多くのヒントを含めることができ、ヒントは複数のプランに関連付けることができます (つまり、多対多の関係です)。アプリケーションでは、「Plan.Tips」の関係のみを気にします。Tip.Plans の逆関係は必要ありません。

リンク テーブル内の外部キー参照を null にすることはできません。

この関係をマッピングするために、次の流暢な API コードを使用しています。

これにより、テーブルに正しいエントリが作成されます。問題は、プランを削除すると、PlanTipLinks テーブルで外部キー例外が発生することです。

おそらく、プランが削除されたときに PlanTipLinks テーブルにカスケードするように指示する必要がありますが、その方法がわかりません。HasMany/WithMany メソッドを使用して WillCascadeOnDelete メソッドを呼び出すことができないようです。

ここで何が欠けていますか?

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

entity-framework-4 - Entity Framework が CSDL (概念モデル) の OnDelete を適切に更新しないのはなぜですか?

最近、データベース内のいくつかのテーブルを を使用するようOnDelete=Cascadeに更新しましたが、edmx ファイルを更新しようとしたときに、が適切に更新されUpdate model from databaseていないことに気付きました。OnDelete

少し検索した後、http://msdn.microsoft.com/en-us/library/bb738695.aspxから次の「ヒント」を見つけました。

カスケード削除ルールを使用してデータベースを更新し、データベースから既存のモデルを更新すると、Entity Framework はカスケード削除ルールを SSDL に追加しますが、CSDL には追加しません。手動で追加する必要があります。概念モデルでカスケード削除規則を指定するには、エンティティ デザイナー画面で関連付けを選択します。次に、[プロパティ] ウィンドウで、OnDelete プロパティの [カスケード] を選択します。

私の質問は、なぜこれが当てはまるのですか?約 15 個のテーブルを更新しましたが、各関係を見つけて、edmxファイルで同じ更新を行う必要があります...もっと簡単で効率的な方法はありますか?

0 投票する
8 に答える
180946 参照

hibernate - JPA orphanRemoval=trueはONDELETECASCADEDML句とどのように異なりますか

JPA2.0orphanRemoval属性について少し混乱しています。

ON DELETE CASCADEJPAプロバイダーのDB生成ツールを使用して、特定の関係を持つ基盤となるデータベースDDLを作成するときに、これが必要であることがわかると思います。

ただし、DBが存在し、すでにON DELETE CASCADE関係にある場合、これは削除を適切にカスケードするのに十分ではありませんか?さらに何orphanRemovalをしますか?

乾杯

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

nhibernate - 多対多とカスケード: エンティティの削除に関する問題

次の 2 つのエンティティとそのマッピングがあります。

私はこれらの2つの単体テストを持っています:

最初のアサートは成功しますが、ビデオ フォルダーが削除される 2 番目の最初のアサートは成功しませんが、残りのビデオ カテゴリにはまだ関連付けられています。

2 番目のテストの SQL 出力は次のとおりです。

マッピングを変更し、VideoCategoryMap の Cascade.AllDeleteOrphan を変更すると、2 番目のテストは成功しますが、孤立したビデオ フォルダーが削除されないため、最初のテストは失敗します。

両方のテストを成功させるにはどうすればよいですか?

前もって感謝します

マイク

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

grails - domain.delete()を使用しない場合、Grailsは削除をカスケードしますか?

Grailsサイトから:http ://www.grails.org/doc/1.0.x/guide/5.%20Object%20Relational%20Mapping%20(GORM).html

次にdelete()、Airportのインスタンスを呼び出すと、関連するすべてのFlightオブジェクトが削除されます(空港に属しているため)。を使用して空港を削除した場合executeUpdateでも、フライトが削除されることを期待できますか?

ありがとうございました

0 投票する
3 に答える
46277 参照

sql - CASCADE DELETE を有効にするためにテーブルを編集するにはどうすればよいですか?

ユーザーを表すテーブルがあります。ユーザーが削除されると、次のようになります。

DELETE ステートメントが REFERENCE 制約と矛盾しています

どうやら、CASCADE DELETESQL Server で想像したほど簡単ではなく、オプションをテーブルに追加する必要があります。

CASCADE DELETE問題は、オプションを追加する方法がわかりません。

私が使用している: SQL Server 2008。これを行う方法はありますか?

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

sql - カスケード削除のない外部キー

私は2つのテーブルを持っています:

チャレンジ テーブルに challengeID = 1 の行が 1 つあり、UserChallenge テーブルに challengeID = 1 の行が 1 つあるとします。

チャレンジから行を削除すると、UserChallenge テーブルはどうなりますか? ON DELETE CASCADEと一緒に使ってもUserChallenge.challengeIDいいですか?

ありがとう。

0 投票する
3 に答える
1207 参照

mysql - 'ONDELETECASCADE'が機能しません

、、の3つのテーブルがlt_hdefaultsありlt_hperiodsますlt_hrules。にはlt_hdefaults、特定の年のプロパティの行が1つあります。表ではlt_hperiods、複数の期間が存在する可能性があり、それらを季節と呼びます。表ではlt_hrules、期間ごとに複数のルールが存在する可能性があります。さて、私がうまくいかなかったこと:ユーザーがからレコードを削除するとき、lt_hdefaults削除されたレコードに関連する他のデータlt_hperiodslt_hrulesテーブルから削除する必要があります。私はこれを使用してこれを達成しようとしています

ただし、動作しません。長く見えることは知っていますが、それほど複雑ではありません。誰かが何か考えを持っているなら、私はそれをいただければ幸いです。私はmysqlの使い方を知っていますが、その専門家ではありません。どうもありがとう。

以下のサンプル:

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

hibernate - @ManyToManyアノテーションを使用して結合テーブルからカスケード削除

こんにちは、エンティティのマッピングで問題が発生しました。私はJPA2とHibernateの実装を使用しています。@ManyToManyアノテーション付きのテーブルを取得しました

http://img204.imageshack.us/img204/7558/przykladd.png

私はそれをマッピングしました:

ここで、Employeeからレコードを削除するときに、テーブルproj_empからカスケード削除したいのですが、テーブルProjectからは何も削除できません。

それを取得するための最良の方法は何ですか?

ありがとうDawid