diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/UnwrapEntityContext.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/UnwrapEntityContext.java index f4f54e957..81e292605 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/UnwrapEntityContext.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/UnwrapEntityContext.java @@ -15,8 +15,11 @@ */ package org.springframework.data.mongodb.core.mapping; +import java.util.Objects; + /** * @author Christoph Strobl + * @author Rogério Meneguelli Gatto * @since 3.2 */ class UnwrapEntityContext { @@ -30,4 +33,34 @@ class UnwrapEntityContext { public MongoPersistentProperty getProperty() { return property; } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#hashCode() + */ + @Override + public int hashCode() { + return Objects.hash(property); + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#equals(java.lang.Object) + */ + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + + if (obj == null || getClass() != obj.getClass()) { + return false; + } + + UnwrapEntityContext other = (UnwrapEntityContext) obj; + + return Objects.equals(property, other.property); + } } diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/UnwrappedMongoPersistentProperty.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/UnwrappedMongoPersistentProperty.java index 7dfafc120..c247d7cec 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/UnwrappedMongoPersistentProperty.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/UnwrappedMongoPersistentProperty.java @@ -18,6 +18,7 @@ package org.springframework.data.mongodb.core.mapping; import java.lang.annotation.Annotation; import java.lang.reflect.Field; import java.lang.reflect.Method; +import java.util.Objects; import org.springframework.data.mapping.Association; import org.springframework.data.mapping.PersistentEntity; @@ -29,6 +30,7 @@ import org.springframework.lang.Nullable; * Unwrapped variant of {@link MongoPersistentProperty}. * * @author Christoph Strobl + * @author Rogério Meneguelli Gatto * @since 3.2 * @see Unwrapped */ @@ -304,4 +306,34 @@ class UnwrappedMongoPersistentProperty implements MongoPersistentProperty { public PersistentPropertyAccessor getAccessorForOwner(T owner) { return delegate.getAccessorForOwner(owner); } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#hashCode() + */ + @Override + public int hashCode() { + return Objects.hash(delegate, context); + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#equals(java.lang.Object) + */ + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + + if (obj == null || getClass() != obj.getClass()) { + return false; + } + + UnwrappedMongoPersistentProperty other = (UnwrappedMongoPersistentProperty) obj; + + return Objects.equals(delegate, other.delegate) && Objects.equals(context, other.context); + } }