我有一个类 ClassA 映射到 TableA。我也有它的映射,它的实体名称为 EntityA。
现在,我需要在 TableA 的 ClassA 之间创建另一个名为 EntityATwo 的映射,但略有不同。
虽然我可以将 EntityA 的映射复制粘贴到 EntityATwo,但要维护它会非常困难。
因此,我的问题是,我如何为 EntityATwo 创建映射,其中我只声明 EntityATwo 和 EntityA 之间的不同之处,而其余的映射是从 EntityA 派生的。
谢谢,弗兰兹
我有一个类 ClassA 映射到 TableA。我也有它的映射,它的实体名称为 EntityA。
现在,我需要在 TableA 的 ClassA 之间创建另一个名为 EntityATwo 的映射,但略有不同。
虽然我可以将 EntityA 的映射复制粘贴到 EntityATwo,但要维护它会非常困难。
因此,我的问题是,我如何为 EntityATwo 创建映射,其中我只声明 EntityATwo 和 EntityA 之间的不同之处,而其余的映射是从 EntityA 派生的。
谢谢,弗兰兹
我不知道直接这样做的方法。但如果你允许,我可能会详细说明。
在我们的代码中,我们通常喜欢将一个 java 类映射到一种语义(我们更喜欢使用经过编译检查的类而不是未经检查的字符串)。因此,我们将映射两个类,而不是将两次类映射到具有不同实体名称的表。我们会有 :
你不再有重复。你会在语义上有所收获。
另一种可能性是在 java 类上使用注释,仅用于公共映射。在 Hibernate 中,注释可以被 xml 映射覆盖(或完成)。所以我想你可以只覆盖 xml 中的相关部分,并且你不会有重复。