List of usage examples for org.springframework.data.mongodb.core.mapping BasicMongoPersistentEntity getPersistentProperty
@Nullable P getPersistentProperty(String name);
From source file:com.avanza.ymer.MongoQueryFactory.java
/** * @param template Template object//from ww w .j a v a 2 s.c om * @return A Spring mongo {@link Query} */ public Query createMongoQueryFromTemplate(Object template) { try { Criteria criteria = null; BasicMongoPersistentEntity<?> pe = mongoMappingContext.getPersistentEntity(template.getClass()); for (PropertyDescriptor pd : getTemplatablePropertyDescriptors(template.getClass())) { Object objectValue = pd.getReadMethod().invoke(template); if (objectValue == null) { continue; // null == accept any value } String fieldName = pe.getPersistentProperty(pd.getName()).getFieldName(); Object mongoValue = mongoConverter.convertToMongoType(objectValue); criteria = addCriteria(criteria, fieldName, mongoValue); } return criteria != null ? new Query(criteria) : new Query(); } catch (Exception e) { throw new CouldNotCreateMongoQueryException(e); } }