在JPA中扩展可嵌入类
我有一个可嵌入类ABC,它是从另一个可嵌入类XYZ扩展而来的。ABC的对象嵌入到实体中。与实体对应的表仅包含ABC元素,而不包含XYZ元素。我该怎么做才能得到它们呢在JPA中扩展可嵌入类,jpa,eclipselink,embeddable,Jpa,Eclipselink,Embeddable,我有一个可嵌入类ABC,它是从另一个可嵌入类XYZ扩展而来的。ABC的对象嵌入到实体中。与实体对应的表仅包含ABC元素,而不包含XYZ元素。我该怎么做才能得到它们呢 我听说描述符定制器可以工作。我该怎么做?还有其他方法吗?您需要在描述符RCustomizer中为XYZ设置InheritancePolicy ClassIndicator字段。然后您需要为扩展XYZ的ABC定义聚合描述符,您可能需要一个SessionCustomizer。可能会对您有所帮助。据此,InheritanceType.SI
我听说描述符定制器可以工作。我该怎么做?还有其他方法吗?您需要在描述符RCustomizer中为XYZ设置InheritancePolicy ClassIndicator字段。然后您需要为扩展XYZ的ABC定义聚合描述符,您可能需要一个SessionCustomizer。可能会对您有所帮助。据此,InheritanceType.SINGLE_表是默认策略。根据您的要求,每个类可能需要InheritanceType.TABLE\u
它已经在
实体继承映射策略主题中进行了描述,但我相信它也适用于“可嵌入的”。有人能举例说明如何编写此描述符映射器吗?
我有同样的东西,我的XYZ类有一堆字符串和UID。
我无法让嵌入ABC的对象显示XYZ中的字段。
(我能做到的唯一方法是将所有XYZ字段的getter放在ABC中,这不好)Err,将所需的列添加到表中。如果ABC扩展XYZ,则它是一个XYZ,因此表中需要XYZ的所有字段。如果它们不是必需的,那么不应该让ABC扩展XYZ。ABC不是唯一扩展XYZ的类。什么?我的观点仍然是。如果其他扩展类也有同样的问题,那么它们也不应该扩展XYZ。JPA没有提到对继承的嵌入式对象的支持;需要一个鉴别器来提供这种特征。最近添加到JDO规范中。