私は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)
    {....}
}
get/set は親クラスと同じ消去を行うため、クラス A はコンパイルされません。A のセットのタイプを削除すると、コンパイルはうまくいきますが、クラスがマップされているため、休止状態のエラーが発生します。A のマッピングは、継承に関する情報がなくても簡単です。どういうわけかマッピング hbm.xml を変更せずに、クラス B を変更せずに動作させることはできますか (lib が提供されているためできません)。この場合、Bクラスを変更せずに最善の解決策は何ですか?