問題タブ [hibernate-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.
spring - インメモリ DB と MySQL DB で異なる永続化動作
1 対多の関係を持つ親エンティティと子エンティティがあります。
@DataJpaTest を使用する場合 (つまり、メモリ内データベースを構成する場合)、次のように動作します。
ルートと各子が正しく挿入され、後でルートを取得して同じ情報を取得できます。
ただし、実際のデータソース (ローカルの MySQL DB) を使用しているときにサービスでこれを繰り返すと、CASCADE.ALL の永続化は発生していないようで、停止の挿入は行われませんが、ルートは永続化され、割り当てられます。 ID。
双方向の関係を構成した親で「addEntity」メソッドを使用して、サイト全体のアドバイスに従いましたが、テスト スイートの外では機能しません。
これがなぜなのか誰か知っていますか?
mysql - 休止状態で子行に影響を与えずに親行を削除する
@Manytomany 休止状態関係のコードに問題があります。
上記の問題は、@ManyToMany 関係側の「CascadeType.ALL」によるものです。しかし、@ManyToMany でこの CascadeType.ALL を削除すると。この CascadeType.ALL を @ManyToMany で CascadeType.PERSIST と CascadeType.MERGE に変更すると、問題が解決します。しかし、新しいオブジェクトを追加すると、エラーが発生します。それ以外の場合、CascadeType.ALL に変更すると、新しいオブジェクトを追加するときに問題なく動作しますが、議論している問題は解決しません。Post で行を削除するときに、どうすれば Class Tag に行を保持できますか。
///
上で述べたように、CascadeType.ALL の場合、CascadeType.PERSIST および CascadeType.MERGE と書いたときに Post の行を削除すると、Tag の行を保持できません。インスタンス - フラッシュする前に一時的なインスタンスを保存します。
これが私の入力 API オブジェクトです。
Casecade.ALL を使用すると、API 入力が正常に機能することを思い出してください。