6.2. コールバックおよびリスナーの継承
エンティティごとに複数のエンティティリスナーを階層の異なるレベルで定義できます。また、複数のコールバックを階層の異なるレベルで定義することもできます。ただし、同じエンティティまたは同じエンティティリスナーの 2 つのリスナーを定義することはできません。
イベントが発生すると、リスナーは次の順序で実行されます。
@EntityListeners(アレイの順序の該当するエンティティまたはスーパークラス)- スーパークラスのエンティティリスナー (最も高いものが最初)
- エンティティのエンティティリスナー
- スーパークラスのコールバック (最も高いものが最初)
- エンティティのコールバック
@ExcludeSuperclassListeners を使用することにより、エンティティリスナーの継承を停止できます。すべてのスーパークラス @EntityListeners が無視されます。