問題タブ [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 に答える
2716 参照

nhibernate - nhibernate cascade - デタッチされたエンティティの問題

カスケード更新/削除の問題を解決しようとして、ここで気が狂います:-)

コレクションの子エンティティを持つ親エンティティがあります。切り離された親オブジェクトの子エンティティのリストを変更したり、追加、削除したりすると、子コレクションに正しくカスケードされた更新が表示されません。

マッピング ファイル:

テスト

コレクションに子がないように製品が更新されたという事実を想定しています-子はParent_Childテーブルで削除されます。問題は、製品を新しいセッションに接続することに関係しているようですか? カスケードが all-delete-orphan に設定されているため、コレクションへの変更が関連するエンティティ/テーブルに反映されると思いますか? この場合は削除しますか?

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

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

php - カスケード テーブルの印刷

データベースからデータをロードして、次のようにテーブルに表示しようとしています:

http://img196.imageshack.us/img196/1857/cijene.jpg

データベースには2つのテーブルがあります:

たとえば、印刷された 4 つの都市の表は次のようになります。

この種のテーブルをエコーする PHP ステートメントを知っている人はいますか?

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

ruby-on-rails - Rails ActiveRecordで1対多の関係でカスケード削除を行うにはどうすればよいですか?

レールに one_to_many 関係のモデルがあります。父親を削除したら、すべての子供を削除したいと思います。どうすればいいですか?ユーザーを削除するときに、すべての注文とそのアイテムを削除したい

私のモデルは次のとおりです。

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

php - MySQL で階層データのカスケード削除を実装する方法は?

カテゴリ/サブカテゴリを持つプロジェクトに取り組んでいます。このためのデータベース テーブルは一意であり、次の構造になっています。

そのため、カテゴリが「ベース」の場合、parent_id は 0 であり、カテゴリに親がある場合は、親 ID を収集します。私が知りたいのはこれです:そのオプション、カスケードのような削除を選択するときに、上記のカテゴリに関連するすべてを削除する必要がありますが、このテーブルしかありません(外部キーはありません)。それ、どうやったら出来るの?(大量のクエリなしで。)

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

java - Hibernate: カスケード削除アイテム中にコレクションの第 2 レベルのキャッシュを消去する

カスケード削除の対象となるアイテムのコレクションに対して、Hibernate が第 2 レベルのキャッシュを更新しないという問題があります。

詳細

Child オブジェクトの Parent.myChildren コレクションを持つオブジェクト Parent があるとします。これで、Humans.myAllHumans コレクションを持つオブジェクト Humans もあり、すべての親オブジェクトと子オブジェクトはそのコレクション内にあります。
これで、session.delete(parent)が実行され、すべての子がデータベースからカスケード削除されますが、Humans.myAllHumans コレクションのキャッシュは更新されません! カスケード削除されたオブジェクトがデータベースにあると想定し、後でコレクションを反復しようとすると、次の例外が発生します:
org.hibernate.ObjectNotFoundException: 指定された識別子を持つ行が存在しません: [foo.Child#751]

試みたアプローチ

1)私はSessionFactory.evictCollection()アプローチを試しましたが、トランザクションセーフではなく、第 2 レベルのキャッシュからデータをハード削除することを理解しているので、それは望ましくありません。

2) myAllHumans コレクションから各オブジェクトを手動で (プログラムで) 削除することもできます。この場合、休止状態は第 2 レベルのキャッシュを更新します。このアプローチは、カスケード削除機能が役に立たなくなるだけなので、避けたいと思います。

期待される

コレクションのキャッシュを自動的に更新できるように、休止状態を賢くしたいと思います。出来ますか?
私は現在 EhCache を使用しています。別のキャッシュ実装を使用するか、EhCache を構成すると役立つと思いますか?

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

c# - NHibernate: 孤立した単純な削除シナリオが機能しない

NHibernate を使用して、単純な 1 対多の関係/階層を作成しようとしています。孤児を自動的に削除したいのですが、現在そうしようとしても ObjectDeletedException が発生します。誰かが私が間違っていることを教えてくれるかどうか疑問に思っています。

編集:

ルート Foo をロードしてから、子をセッション外に削除して、1 つまたは複数の子を孤立させることを指定する必要がありました。その後、2 番目のセッションで SaveOrUpdate(root) を呼び出すと、例外が発生します。デタッチされて変更されたオブジェクトと、データベースに永続化されているオブジェクトとの間の子のリストの違いを修正するにはどうすればよいですか?

問題のサンプル コードは次のようになります。

永続化されるオブジェクト:

FluentNHibernate マッピング:

タイプ Foo のオブジェクトを永続化するために使用されるメソッド:

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

hibernate - REMOVEとDELETEの違いは何ですか?

間に違いはありますか:

  • @Cascade(org.hibernate.annotations.CascadeType.REMOVE)および
  • @Cascade(org.hibernate.annotations.CascadeType.DELETE)?
0 投票する
3 に答える
116 参照

sql - 削除クエリ実行時の DB ダウン

単純な削除クエリで DB がダウンする可能性はありますか?

削除クエリ (単一行の削除) を実行したところ、そのクエリがハングしました。複数の人が同じ削除を再度実行しようとすると、Oracle DB がダウンします。複数のテーブルがこのテーブルを参照しており、カスケード削除が使用されていません。カスケード削除を使用する必要がありましたか?

このSQLの実行時にDBがダウンする理由として考えられるものは何ですか?

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

nhibernate - 多対多の関連付け (カスケード) を自動的に削除する方法

私のデータベースには、多対多の関係を持つユーザーとユーザー グループがあります。User には UserGroup のセットがあり、UserGroup ドメイン オブジェクトは User を認識しません。

私が達成しようとしているのは、ユーザーまたはユーザー グループのいずれかを削除するときに、nhibernate がジャンクション テーブルから相関関係を削除することです。さらに、ユーザーとグループはの子オブジェクトです。これをドメインと呼びましょう。ドメインはcascade="all-delete-orphans".

User<->UserGroup の関係に戻ります。正しく理解していれば、関連するオブジェクト自体ではなく、2 つのオブジェクト間の関連付けを削除したいだけなので、削除を伴うカスケード形式は使用できません。(孤児であっても、グループは消滅しません。また、グループを持たないユーザーは、私の世界では有効なものです。彼には何もする権利がありません。)

イベント/インターセプターを確認する必要がありますか? または、マッピングを制御することで達成したいことを行うことができますか?

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

sql - MySQL InnoDB カスケード?

Web アプリケーションで InnoDB を使用する実験を始めています。外部キーを使用していくつかのテーブルをセットアップしましたが、期待どおりに動作しません。ここに私のテーブル CREATE ステートメントがあります:

テーブルは正常に作成され、データを入力できますが、Sections テーブルに加えた変更が Pages テーブルの対応する行に影響することを期待していました。セクションの ID を変更し、セクションを完全に削除しようとしました。どちらの場合も、Pages テーブルは影響を受けませんでした。

誰かが私が間違っているところを見ることができますか?

アドバイスをいただければ幸いです。
ありがとう。