2016-09-23 12 views
2

我一直在使用@EnableJpaRepositories,我很有興趣定義特定的類而不是包。這背後的原因是,我使用的是多模塊項目的事實,目前有一個包含在一個單獨的包中的所有存儲庫定義一個核心模塊:使用EnableJpaRepositories定義特定的存儲庫類

core/repository/ - Here all repository definitions are stored 

在其他的模塊,其中有核心模塊的依賴我用的是下面的定義用於讀取存儲庫:

@EnableJpaRepositories(basePackages ="core.repository") 

顯然使用這種裝置,所有這些都在core/repository包的倉庫取定義。但是,在一些軟件包中,我只需要一些存儲庫,而不是全部。現在我已經感動每一個存儲庫定義到一個單獨的包裝,如:

core/repository/user 

不過我很感興趣 - 是不是真的可以定義具體庫類,但不包,這樣的事情:

@EnableJpaRepositories(baseClasses ="core.repository.UserRepository") 

感謝, 乾杯

回答

0

您可以通過使用includeFilters/excludeFilters PARAM定製加載庫。

例如,你可以在你EnableJpaRepositories配置定義過濾器:

@EnableJpaRepositories(basePackages = "core.repository", includeFilters = @ComponentScan.Filter(MyModuleJpaRepo.Class)) 

,然後標記每一個模塊庫中有相應的註釋:

@MyModuleJpaRepo 
public interface TestRepository extends JpaRepository<Test, Long> { … } 

在這裏你可以找到例如從春數據作家: https://stackoverflow.com/a/22744045/1545775

相關問題