JPA 2 中 @Embeddable 上的 @PostLoad?

Ral*_*lph 5 java jpa eclipselink

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

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

我在JSR中没有找到关于@PostLoadin的具体声明。@Embeddable

3.5.1 生命周期回调方法

实体生命周期回调方法可以在实体侦听器类和/或直接在实体类或映射超类上定义。

我不知道这个说法@Embeddable是否包含。

我的持久性提供程序是 Eclipselink。

Jam*_*mes 3

当前不为 Embeddables 处理实体回调和侦听器。这可能符合规范,因为它们被称为“实体”回调,而且 orm.xml 不允许它们嵌入。

但是,EclipseLink 确实支持嵌入事件,因此我们没有理由不支持这一点,因此请在 EclipseLink 上记录错误。

您应该能够使用 DescriptorCustomizer 为您的嵌入定义 DescriptorEventListener,PostLoad 回调映射到 postBuild 和 postClone。