我有一个从另一个可嵌入类XYZ扩展而来的可嵌入类ABC。ABC的对象嵌入到一个实体中。与实体对应的表只包含ABC的元素,而不包含XYZ的元素。我应该怎么做才能得到它们?
我听说描述符自定义程序将工作。我该怎么做?还有别的办法吗?
oracle javaEE的这篇文档可能会对您有所帮助。据此,InheritanceType.SINGLE_TABLE是默认策略。您可能需要InheritanceType.TABLE_PER_CLASS来满足您的需求。
它已经在Entity Inheritance Mapping Strategies
主题中描述了它,但我相信它也可能适用于"可嵌入"。
您需要在DescriptorCustomizer for XYZ中设置InheritancePolicy类IndicatorField。然后,您需要为ABC定义扩展XYZ的聚合描述符,您可能需要一个SessionCustomizer。
有人能举例说明如何编写这个DescriptorCustomizer吗?我有同样的东西,我的XYZ类有一堆字符串和uid。我无法获得嵌入了ABC的对象来显示XYZ中的字段。(我能做到这一点的唯一方法是将所有XYZ字段的getter放在ABC中,这不好)