MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Tidak ada properti yang ditemukan untuk tipe... Saat menggunakan QueryDslPredicateExecutor dengan MongoDB dan Spring-Data

Saya akhirnya menyelesaikan ini dengan meminta repositori dasar saya memperluas dan mengimplementasikan QueryDslPredicateExecutor, daripada repositori tingkat yang lebih tinggi.

// 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. Kelompokkan berdasarkan nilai dan kondisi

  2. Kesalahan mongo pada saya mengontrol perbaikan terbaru

  3. Bagaimana cara menerapkan oAuth2 bersama dengan otentikasi JWT di boot musim semi?

  4. Jika agregat mongodb tidak menggunakan indeks untuk $lookup mengapa kinerja saya meningkat saat menggunakan indeks?

  5. Mongo, temukan melalui daftar id