0

问题是这样的,我正在扩展一个通用框架并将其应用于特定的项目,该框架适用于 Spring 和 Hibernate,这里我有两个类,GenericClientSpecificClient,它们都是实体,并且SpecificClient继承自GenericClient

GenericClient是框架的一部分,我不能修改它,因为这个类没有声明@Inheritance(strategy = InheritanceType.JOINED)唯一可以使用的继承类型,InheritanceType.SINGLE_TABLE因为这是注解的默认值。

目前我的代码正在使用SpecificClient@Inheritance(strategy = InheritanceType.SINGLE_TABLE)声明,即使它不是继承树的根。

由于版本问题我必须找到使用方法InheritanceType.JOINED,好在SpecificClient永远是继承树的最后一个类,但在不同的项目中可能会有所不同。

  • 有什么办法可以InheritanceType.JOINED在父类中注入注释吗?
  • 有没有什么方法可以声明父类,以便根据特定项目的需要,您可以使用另一种继承?
4

2 回答 2

0

您可以使用 XML 来定义此继承树的映射。这是文档的相关部分

于 2012-05-14T14:42:00.627 回答
0

如果您无法修改希望 Hiberante 用作实体的类,则可以使用 .hbm.xml 配置文件来执行此操作。这些可以与注释混合,因为所有功能都应该在两者中可用。

于 2012-05-14T14:43:17.597 回答