4

@PostLoad上のメソッド@Embeddableが呼び出されないという問題があります。

@PostLoadしかし、それが機能するはずで、どこかに設定ミスのバグがあるのか​​ 、それともs専用なので機能しないのかわかりません@Entityか?

JSR@PostLoadのinについての具体的な記述は見つかりませんでし@Embeddableた。

3.5.1 ライフサイクル コールバック メソッド

エンティティ ライフサイクル コールバック メソッドは、エンティティ リスナー クラスで、および/またはエンティティ クラスまたはマップされたスーパークラスで直接定義できます。

このステートメントが含まれているかどうかはわかり@Embeddableません。

私の持続性プロバイダーは Eclipselink です。

4

1 に答える 1

3

エンティティのコールバックとリスナーは、現在Embeddablesでは処理されていません。これらは「エンティティ」コールバックと呼ばれ、orm.xmlでは埋め込みが許可されていないため、これはおそらく仕様に沿ったものです。

ただし、EclipseLinkは埋め込み可能オブジェクトのイベントをサポートしているため、これをサポートできなかった理由はありません。EclipseLinkにバグを記録してください。

DescriptorCustomizerを使用して、埋め込み可能オブジェクトのDescriptorEventListenerを定義できるはずです。PostLoadコールバックはpostBuildとpostCloneにマップされます。

于 2012-04-18T13:38:48.623 に答える