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

Bagaimana Spring Data mengetahui penyimpanan mana untuk mendukung repositori jika beberapa modul digunakan?

Keputusan yang menyimpan proxy yang dibuat untuk antarmuka repositori Spring Data hanya dibuat karena pengaturan konfigurasi Anda. Asumsikan Anda memiliki konfigurasi berikut:

@Configuration
@EnableJpaRepositories("com.acme.foo")
@EnableMongoRepositories("com.acme.foo")
class Config { }

Ini akan meledak di beberapa titik sebagai antarmuka dalam paket com.acme.foo keduanya terdeteksi oleh infrastruktur MongoDB dan JPA. Untuk mengatasi ini, baik dukungan JavaConfig dan XML memungkinkan Anda untuk menentukan filter sertakan dan kecualikan sehingga Anda dapat menggunakan konvensi penamaan, anotasi tambahan, atau sejenisnya:

@Configuration
@EnableJpaRepositories(basePackages = "com.acme.foo", 
                       includeFilters = @Filter(JpaRepo.class))
@EnableMongoRepositories(base Packages = "com.acme.foo", 
                         includeFilters = @Filter(MongoRepo.class))
class Config { }

Dalam hal ini, dua anotasi @JpaRepo dan @MongoRepo (akan dibuat oleh Anda) akan digunakan untuk memicu deteksi secara selektif dengan memberi anotasi pada antarmuka repositori yang relevan dengannya.

Deteksi otomatis yang sebenarnya agak tidak mungkin karena sulit untuk mengetahui toko mana yang Anda targetkan hanya dari deklarasi antarmuka repositori dan pada saat definisi kacang dibuat, kami bahkan tidak tahu tentang infrastruktur lebih lanjut (sebuah EntityManager atau sejenisnya).




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana menemukan dokumen mongo dengan bidang yang sama

  2. Flask - Permintaan Buruk Peramban (atau proxy) mengirimkan permintaan yang tidak dapat dipahami oleh server ini

  3. Disebut fungsi javascript tersimpan dari Mongoose?

  4. Pengindeksan Geospasial Tidak ditemukan pemetaan untuk bidang dengan YAML

  5. Memahami Hubungan &Kunci Asing di Luwak