3 回答

TA貢獻1852條經驗 獲得超1個贊
一旦 Spring boot 檢測到您需要,JPA 存儲庫的自動配置就會啟用。
根據@JpaRepositoriesAutoConfiguration
規范(重點是我的):
Spring Data 的 JPA 存儲庫的自動配置。當上下文中配置了 DataSource 類型的 bean、Spring Data JPA JpaRepository 類型位于類路徑上并且沒有配置其他現有 JpaRepository 時激活。一旦生效,自動配置相當于使用 EnableJpaRepositories 注釋啟用 JPA 存儲庫。該配置類將在 Hibernate 自動配置后激活。
要覆蓋它,請顯式添加@EnableJpaRepositories
注釋,但除了注釋中定義的字段之外,您無法添加任何邏輯。

TA貢獻1829條經驗 獲得超4個贊
無法幫助你負責掃描的native類,但是可以告訴你如何在你自己的類中進行掃描。該代碼是從我的項目借用的 - 它可以公開每個實體的 id。您不必每次都向列表中添加新內容 - 很容易忘記這一步。您需要有一個擴展 RepositoryRestConfigurerAdapter 或 RepositoryRestMvcConfiguration 的配置,并添加一個方法,如下所示:
@Override
public void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) {
// getting a list of all classes annotated with @Entity
List<Class<?>> classes = CPScanner.scanClasses(new PackageNameFilter("ru.outofrange.*"),
new ClassFilter().appendAnnotation(Entity.class));
Class[] arrayClasses = new Class[classes.size()];
for (int i = 0; i < classes.size(); i++) {
arrayClasses[i] = classes.get(i);
}
config.exposeIdsFor(arrayClasses);
}
需要此依賴項:
<dependency>
<groupId>net.sf.corn</groupId>
<artifactId>corn-cps</artifactId>
<version>1.0.1</version>
</dependency>
添加回答
舉報