【Doctrine2】ライフサイクルイベント一覧

EntityManagerとUnitOfWorkは、登録されたエンティティの存続期間中に下記のイベントをトリガします。

preRemove

preRemoveイベントは、エンティティのそれぞれのEntityManager削除操作が実行される前に、特定のエンティティに対して発生します。DQL DELETEステートメントでは呼び出されません。

postRemove

postRemoveイベントは、エンティティが削除された後にエンティティに対して発生します。データベースの削除操作の後に呼び出されます。DQL DELETEステートメントでは呼び出されません。

prePersist

prePersistイベントは、そのエンティティのそれぞれのEntityManager持続操作が実行される前に、特定のエンティティに対して発生します。このイベントは、エンティティの初期持続時にのみトリガされる(つまり、将来の更新でトリガされない)ことに注意する必要があり ます。

postPersist

エンティティが永続化された後に、エンティティのpostPersistイベントが発生します。これは、データベース挿入操作の後に呼び出されます。生成された主キー値は、postPersistイベントで使用できます。

preUpdate

preUpdateイベントは、エンティティデータへのデータベース更新操作の前に発生します。DQL UPDATEステートメントには呼び出されません。また、計算されたチェンジセットが空の場合もありません。

postUpdate

postUpdateイベントは、エンティティデータに対するデータベース更新操作の後に発生します。DQLのUPDATEステートメントには呼び出されません。

postLoad

postLoadイベントは、エンティティがデータベースから現在のEntityManagerにロードされた後、またはリフレッシュ操作が適用された後にエンティティに対して発生します。

loadClassMetadata

loadClassMetadataイベントは、クラスのマッピング・メタデータがマッピング・ソース(annotations / xml / yaml)からロードされた後に発生します。このイベントはライフサイクルコールバックではありません。

onClassMetadataNotFound

要求された特定のクラス名のクラス・メタデータのロードに失敗しました。指定されたイベントを操作するargsインスタンスは、実際のメタデータが存在しない場合や見つかった場合でも代替メタデータを提供することを可能にします。このイベントはライフサイクルコールバックではありません。

preFlush

preFlushイベントは、フラッシュ操作の最初の時点で発生します。

onFlush

onFlushイベントは、すべての管理対象エンティティの変更セットが計算された後に発生します。このイベントはライフサイクルコールバックではありません。

postFlush

postFlushイベントは、フラッシュ操作の終了時に発生します。このイベントはライフサイクルコールバックではありません。

onClear

onClearイベントは、エンティティへのすべての参照が作業ユニットから削除された後で、EntityManager#clear()操作が呼び出されたときに発生します。このイベントはライフサイクルコールバックではありません。

お気軽にコメントをどうぞ

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください