3つのわずかに異なるエンティティが実装する抽象エンティティクラスがあります。私の3つのサブクラスでは、私はequalsをオーバーライドしてメソッドを持っていますが、抽象的なエンティティでもこれを行うべきですか?私がいなくても、抽象的なエンティティによって定義されたエンティティを、キャストしない限り比較することはできません。もし私が同等のことをするならば、私は異なるサブエンティティと比較して、それらが似ているということになるでしょうか?抽象エンティティのJPAエンティティと同等メソッド
例:
abstract class Log{}
SystemLog extends Log{}
UserLog extends Log{}
public void test(Log log){
Log myInner = new SystemLog();
if(log.equals(myInner)){
//do random stuff
}
}
I'vは、私の状況の例を追加しました – Marthin
また、あなたの例では、equalsメソッドがサブクラスでオーバーライドされると、抽象クラスLogでequalsメソッドは呼び出されません。これは、この階層エンティティのクラスであるかどうかとはあまり関係がありません。単純なメソッドのオーバーライドです。 –