我有一个基类B。
@MappedSuperclass class B{}
@MappedSuperclass class D1 extends B{} //class D1 is really big
@MappedSuperclass class D2 extends B{} //class D2 is really big
@MappedSuperclass class D3 extends B{} //class D3 is really big
......
@MappedSuperclass class D10 extends B{} //class D10 is really big
我需要NewD1,NewD2,NewD3 ..NewD10,所有扩展D1..D10减去B。
现在我需要创建一个新类 NewD类扩展D但不扩展B {} //这里我想扩展D减去B 有人可以建议我该如何解决这个问题?
不幸的是,@ Mohannad的建议不起作用,因为我大约有10个类继承了B。
我已经尝试或考虑了以下内容。 -将D级和B级分开。 -现在创建NewD扩展D扩展B //但这不会编译,因为不允许多重继承。
答案 0 :(得分:0)
这在Java中是不可能的。您可以控制D&B吗?
如果您愿意,我的建议是颠倒关系。使D为基类,然后使B从D继承,然后您的NewD类可以从D继承但没有B。
答案 1 :(得分:0)
我最终使用了一种变通方法,因为对此没有希望的AFAIK。
我已经在数据库表中创建了对应于NewD1,NewD2,NewD2 ..NewD10的虚拟列(在@MappedSuperclass类B {}中定义)。
我之所以喜欢这样做,是因为我认为在表中具有虚拟列比复制所有代码要好。