Example usage for org.springframework.data.mongodb.repository.query MongoEntityInformation getCollectionName

List of usage examples for org.springframework.data.mongodb.repository.query MongoEntityInformation getCollectionName

Introduction

In this page you can find the example usage for org.springframework.data.mongodb.repository.query MongoEntityInformation getCollectionName.

Prototype

String getCollectionName();

Source Link

Document

Returns the name of the collection the entity shall be persisted to.

Usage

From source file:org.springframework.data.mongodb.repository.support.IndexEnsuringQueryCreationListener.java

public void onCreation(PartTreeMongoQuery query) {

    PartTree tree = query.getTree();//from w  w w  . j a v  a  2s .c  o m
    Index index = new Index();
    index.named(query.getQueryMethod().getName());
    Sort sort = tree.getSort();

    for (Part part : tree.getParts()) {
        if (GEOSPATIAL_TYPES.contains(part.getType())) {
            return;
        }
        String property = part.getProperty().toDotPath();
        Order order = toOrder(sort, property);
        index.on(property, order);
    }

    // Add fixed sorting criteria to index
    if (sort != null) {
        for (Sort.Order order : sort) {
            index.on(order.getProperty(), QueryUtils.toOrder(order));
        }
    }

    MongoEntityInformation<?, ?> metadata = query.getQueryMethod().getEntityInformation();
    operations.indexOps(metadata.getCollectionName()).ensureIndex(index);
    LOG.debug(String.format("Created %s!", index));
}