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

Skąd Spring Data wie, w jaki sposób przechowuje repozytorium, za pomocą którego używa się wielu modułów?

Decyzja o tym, który serwer proxy zostanie utworzony dla interfejsu repozytorium Spring Data, jest podejmowana tylko ze względu na konfigurację. Załóżmy, że masz następującą konfigurację:

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

To w pewnym momencie wybuchnie, gdy interfejsy w pakiecie com.acme.foo są wykrywane przez infrastrukturę MongoDB i JPA. Aby rozwiązać ten problem, zarówno obsługa JavaConfig, jak i XML umożliwia zdefiniowanie filtrów włączania i wykluczania, dzięki czemu można używać konwencji nazewnictwa, dodatkowych adnotacji itp.:

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

W tym przypadku dwie adnotacje @JpaRepo i @MongoRepo (do utworzenia przez Ciebie) będzie używany do selektywnego wyzwalania wykrywania poprzez dodawanie do nich adnotacji do odpowiednich interfejsów repozytorium.

Prawdziwa automatyczna detekcja jest trochę niemożliwa, ponieważ trudno jest określić, na który sklep jest kierowany, wyłącznie na podstawie deklaracji interfejsu repozytorium, a w momencie tworzenia definicji ziaren nie wiemy nawet o żadnej dalszej infrastrukturze ( EntityManager lub tym podobne).




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Czy Mongoose zapewnia dostęp do poprzedniej wartości właściwości w pre('save')?

  2. Jak odwołać się do innego schematu w moim schemacie Mongoose?

  3. Jak połączyć mongoDB z Pythonem?

  4. pymongo:usuń duplikaty (zmniejsz mapę?)

  5. mongodb filtruje dokumenty z długością, szerokością geograficzną i określoną odległością