MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Nie znaleziono właściwości dla typu... Podczas korzystania z QueryDslPredicateExecutor z MongoDB i Spring-Data

Skończyło się na tym, że rozwiązałem to, każąc moje repozytorium bazowe rozszerzyć i zaimplementować QueryDslPredicateExecutor, a nie repozytorium wyższego poziomu.

// Custom repository interface
@NoRepositoryBean
public interface ExtendedMongoRepository<T, ID extends Serializable> extends MongoRepository<T, ID>, QueryDslPredicateExecutor<T>{

  public Page<T> query(Query query, Pageable pageable);

}


// Custom Repository Implementation
public abstract class ExtendedMongoRepositoryImpl<T, ID extends Serializable> extends QueryDslMongoRepository<T, ID>
        implements ExtendedMongoRepository<T, ID> {

    private Class<T> clazz;
    private MongoOperations mongoOperations;
    @SuppressWarnings("unused")
    private MongoEntityInformation<T, ID> metadata;

    public ExtendedMongoRepositoryImpl(MongoEntityInformation<T, ID> metadata, MongoOperations mongoOperations) {
        super(metadata, mongoOperations);
        this.mongoOperations = mongoOperations;
        this.clazz = metadata.getJavaType();
        this.metadata = metadata;
    }

    @Override
    public Page<T> query(Query query, Pageable pageable) {
        List<T> list =  mongoOperations.find(query.with(pageable), clazz);
        return new PageImpl<T>(list, pageable, list.size());
    }
}  

// Entity Repository Interface
public interface TreeRepository extends ExtendedMongoRepository<Tree, String> {}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Morphia MongoDB sprawdza, czy nie ma pola zerowego i nieistniejącego

  2. Zagnieżdżona tablica agregatów Mongo

  3. Spring Data Mongo - Perform Distinct, ale nie chce wyciągać osadzonych dokumentów w wynikach

  4. Jak obliczyć średnią ważoną w mongoDB przy użyciu struktury agregacji?

  5. Czy wykonanie częściowej aktualizacji dokumentu MongoDb w WiredTiger zapewnia jakąkolwiek przewagę nad pełną aktualizacją dokumentu?