マイライブラリドキュメント

マルチルートサイドバー

flex-layout

  • Getting Started

  • Guides

  • Reference

typed-rx-http

  • Getting Started

  • Guides

  • Reference

global-rx-state

  • Getting Started

  • Guides

  • Reference

webflux-fe-dev-assistant

reactive-mongo-dsl

Bulk & History

保存ライフサイクルが適用される一般的な保存とバルクインサート/アップサート、バックアップ削除、履歴スナップショットの動作の違いを区別します。


save / saveAll

save(entity)

id がない場合は insertOne、id がある場合は _id 基準で replaceOne(..., upsert=true) を使用します。

saveAll(...)

各エンティティに対して save() を実行するため、 beforePersist/afterPersist ライフサイクルフックが適用されます。

バルクAPIの選択

saveAllBulk

insertMany ベースのバルクインサートです。既存のidを更新するAPIではありません。

saveAllBulkUpsert

エンティティidがない場合は挿入、ある場合は _id フィルター + $set + アップサートを実行します。

saveAllBulkUpsertByKey

業務複合キーを基準にアップサートします。キーのいずれかがない場合、そのエンティティは挿入として処理されます。

java
エンティティ削除とバックアップ削除
java

backup을 활성화하면 <sourceCollection>_remove collection을 사용합니다. delete와 backup을 하나의 원자 작업으로 묶어야 한다면 호출 측에서 getTxJob(...) transaction 범위를 잡습니다.

履歴スナップショット
java

createHistory는 현재 MongoExecutionContext.write(...) 결과를 deep copy하고 _id를 제거한 뒤 <sourceCollection>_history 또는 지정한 prefix collection에 insert합니다. history write도 save lifecycle hook을 호출하지 않습니다.

© 2026 Byeolnaerim. 無断転載を禁じます。紹介プライバシーポリシー