私は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クラスを変更せずに最善の解決策は何ですか?