4

我的问题是我的@PostLoad方法@Embeddable没有被调用。

但我不知道,它是否应该工作并且在某处存在更多错误配置的错误,或者我它不应该工作,因为@PostLoad它只适用于@Entitys?

我没有在 JSR 中找到关于in@PostLoad具体声明。@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 回答