@PostLoad在JPA 2中的@Embeddable?

时间:2012-04-18 09:37:20

标签: java jpa eclipselink

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

但是我不知道,如果它应该有效,并且某个地方有错误更多配置错误,或者我不应该工作,因为@PostLoad仅适用于@Entity

我没有在JSR@PostLoad中找到关于@Embeddable的具体陈述。

  

3.5.1生命周期回调方法

     

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

我不知道此声明是否包含@Embeddable

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

1 个答案:

答案 0 :(得分:3)

当前没有为Embeddables处理实体回调和侦听器。这可能与规范一致,因为它们被称为“实体”回调,orm.xml也不允许它们嵌入。

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

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