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