0

我有 4 个类:A 扩展 B,C 扩展 D。以下代码:

class B
{ 
    Set<D> mySet;

    public Set<D> getMySet()
    {....}

    public void setMySet(Set<D> setset)
    {....}
}

class A extends B
{
    Set<C> mySet;

    public Set<C> getMySet()
    {....}

    public void setMySet(Set<C> setset)
    {....}
}

类 A 无法编译,因为 get/set 与父类具有相同的擦除。如果我删除 A 中的集合类型,它编译得很好,但是我有休眠错误,因为该类已映射。没有关于继承的信息,A 的映射很简单。我能否以某种方式不更改映射 hbm.xml 并在不更改 B 类的情况下使事情正常工作(我不能,因为它是提供的 lib)?在这种情况下,不改变 B 类的最佳解决方案是什么?

4

0 回答 0