diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/BasicMongoPersistentEntity.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/BasicMongoPersistentEntity.java index dd9bea9e4..3637ce4f2 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/BasicMongoPersistentEntity.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/BasicMongoPersistentEntity.java @@ -149,6 +149,8 @@ public class BasicMongoPersistentEntity extends BasicPersistentEntity entity = context.getPersistentEntity(Sample.class); + + List properties = new ArrayList<>(); + + entity.doWithProperties((MongoPersistentProperty property) -> properties.add(property.getName())); + + assertThat(properties).containsExactly("first", "second", "third"); + } + private MongoPersistentProperty getPropertyFor(Field field) { return getPropertyFor(entity, field); } @@ -213,6 +229,13 @@ public class BasicMongoPersistentPropertyUnitTests { @org.springframework.data.mongodb.core.mapping.Field(order = -20) String ssn; } + class Sample { + + @org.springframework.data.mongodb.core.mapping.Field(order = 2) String second; + @org.springframework.data.mongodb.core.mapping.Field(order = 3) String third; + @org.springframework.data.mongodb.core.mapping.Field(order = 1) String first; + } + enum UppercaseFieldNamingStrategy implements FieldNamingStrategy { INSTANCE;