sql >> Databáze >  >> NoSQL >> MongoDB

Jak Spring Data ví, které úložiště zálohovat, pokud je použito více modulů?

Rozhodnutí o uložení proxy vytvořeného pro rozhraní úložiště Spring Data je provedeno pouze na základě vašeho nastavení konfigurace. Předpokládejme, že máte následující konfiguraci:

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

To v určitém okamžiku praskne, protože rozhraní v balíčku com.acme.foo jsou oba detekovány infrastrukturou MongoDB a JPA. K vyřešení tohoto problému vám podpora JavaConfig i XML umožňuje definovat filtry pro zahrnutí a vyloučení, takže můžete použít konvence pojmenování, další anotace nebo podobně:

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

V tomto případě dvě anotace @JpaRepo a @MongoRepo (které vytvoříte vy) by byly použity k selektivnímu spouštění detekce tím, že se s nimi označí příslušná rozhraní úložiště.

Skutečná automatická detekce je poněkud nemožná, protože je těžké určit, na který obchod cílíte, pouze z deklarace rozhraní úložiště a v okamžiku, kdy jsou vytvořeny definice fazolí, ani nevíme o žádné další infrastruktuře (např. EntityManager nebo podobně).




  1. Uložte funkci na server pomocí Java - MongoDB

  2. Nastavte více polí jedním aktualizačním dotazem

  3. Třídění na straně serveru pomocí Mongoose (mongodb + node.js)

  4. HDFS NameNode Vysoká dostupnost v Hadoop