【问题标题】:@PostLoad on an @Embeddable in JPA 2?@PostLoad 在 JPA 2 中的 @Embeddable 上?
【发布时间】:2012-04-18 09:37:20
【问题描述】:

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

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

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

3.5.1 生命周期回调方法

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

不知道这个语句是否包含@Embeddable

我的 Persistence Provider 是 Eclipselink。

【问题讨论】:

    标签: java jpa eclipselink


    【解决方案1】:

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

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

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

    【讨论】:

    • Hibernate 是否有可能以某种形式提供此功能?
    猜你喜欢
    • 1970-01-01
    • 2014-08-24
    • 1970-01-01
    • 1970-01-01
    • 2015-05-15
    • 1970-01-01
    • 2020-06-05
    • 1970-01-01
    • 2020-10-17
    相关资源
    最近更新 更多