@Data public class ClassA { int a; } public class ClassB extends ClassA { int b; @Override public boolean equals(Object obj) { //реализация } } @Data public class ClassA { int a; } public class ClassB extends ClassA { int b; @Override public boolean equals(Object obj) { //реализация if (this == obj) return true; if (!obj instanceof ClassB) return false; if (!super.equals(obj)) return false; } }