我在我的项目中使用了一个全局自定义存储库,它扩展了 QueryDslJpaRepository:
public class CustomPagingAndSortingRepositoryImpl<T, ID extends Serializable> extends QueryDslJpaRepository<T, ID>
implements CustomPagingAndSortingRepository<T, ID> {
和界面:
public interface CustomPagingAndSortingRepository<T, ID extends Serializable>
extends JpaRepository<T, ID>, QueryDslPredicateExecutor<T> {
然后在我的配置中,我用以下方式注释它:
@EnableJpaRepositories(repositoryBaseClass = CustomPagingAndSortingRepositoryImpl.class)
一切正常,但现在我试图通过使用 spring-data-envers 为我的实体添加审计支持,根据文档我应该使用特定的存储库工厂 bean 类:
@EnableJpaRepositories(repositoryFactoryBeanClass = EnversRevisionRepositoryFactoryBean.class, repositoryBaseClass = CustomPagingAndSortingRepositoryImpl.class)
现在很明显,如果我这样做,这将不起作用,因为我的存储库现在将通过 EnversRevisionRepositoryFactoryBean 类创建,并且不再是 CustomPagingAndSortingRepositoryImpl 类型。
我怎么能支持这样的事情?因为我的自定义存储库需要从 QueryDslJpaRepository 扩展,所以我没有看到如何。