我有一个问题,我的@PostLoad
上的@Embeddable
方法没有被调用。
但是我不知道它是否应该工作,并且某个地方存在更多错误配置的错误,还是我不应该工作,因为@PostLoad
仅适用于@Entity
?
我没有在JSR的@PostLoad
中找到有关@Embeddable
的具体声明。
3.5.1生命周期回调方法
可以在实体侦听器上定义实体生命周期回调方法
类和/或直接在实体类或映射的超类上。
我不知道该语句是否包含@Embeddable
。
我的持久性提供程序是Eclipselink。
最佳答案
当前未为Embeddables处理实体回调和侦听器。这可能与规范一致,因为它们被称为“实体”回调,而且orm.xml不允许它们被嵌入。
但是,EclipseLink确实支持嵌入式事件,因此没有理由我们不支持此事件,因此请在EclipseLink上记录一个错误。
您应该能够使用DescriptorCustomizer为可嵌入对象定义DescriptorEventListener,PostLoad回调映射到postBuild和postClone。