diff --git a/src/main/java/org/springframework/data/elasticsearch/core/query/SimpleField.java b/src/main/java/org/springframework/data/elasticsearch/core/query/SimpleField.java index a0cad3961..ee2e0473e 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/query/SimpleField.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/query/SimpleField.java @@ -19,6 +19,8 @@ import org.springframework.data.elasticsearch.annotations.FieldType; import org.springframework.lang.Nullable; import org.springframework.util.Assert; +import java.util.Objects; + /** * The most trivial implementation of a Field. The {@link #name} is updatable, so it may be changed during query * preparation by the {@link org.springframework.data.elasticsearch.core.convert.MappingElasticsearchConverter}. @@ -79,4 +81,16 @@ public class SimpleField implements Field { public String toString() { return getName(); } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof SimpleField that)) return false; + return Objects.equals(name, that.name) && Objects.equals(fieldType, that.fieldType) && Objects.equals(path, that.path); + } + + @Override + public int hashCode() { + return Objects.hash(name, fieldType, path); + } }