Spring boot EnversRevisionRepositoryFactoryBean不为JPA存储创建bean

Spring boot EnversRevisionRepositoryFactoryBean不为JPA存储创建bean,spring-boot,hibernate-envers,spring-data-envers,Spring Boot,Hibernate Envers,Spring Data Envers,我使用的是SpringBoot,HibernateEnverse。我在pom.xml中有以下依赖项 <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-envers</artifactId> </dependency> 所以包com.example.persistence有PersonDAO和Address

我使用的是SpringBoot,HibernateEnverse。我在pom.xml中有以下依赖项

<dependency>
  <groupId>org.springframework.data</groupId>
  <artifactId>spring-data-envers</artifactId>
</dependency>
所以包
com.example.persistence
PersonDAO
AddressDAO
以及实体

我有以下两个道

interface PersonDAO  extends RevisionRepository<PersonEntity, Integer, Integer>, JpaRepository<PersonEntity, Integer>{}

interface AddressDAO  extends JpaRepository<AddressEntity, Integer>{}
当我添加
@EnableJpaRepositories(…)
config时,它无法为
AddressDAO
获取bean。我认为
EnversRevisionRepositoryFactoryBean
适用于
RevisionRepository
JpaRepository

我得到了以下异常跟踪

org.springframework.beans.factory.UnsatifiedDependencyException:创建名为“addressService”的bean时出错:通过字段“addressDAO”表示的未满足的依赖关系;嵌套异常为org.springframework.beans.factory.BeanCreationException:创建名为“addressDAO”的bean时出错:调用init方法失败;嵌套异常为org.springframework.data.mapping.PropertyReferenceException:找不到类型AddressEntity的属性findAll

原因:org.springframework.beans.factory.BeanCreationException:创建名为“addressDAO”的bean时出错:调用init方法失败;嵌套异常为org.springframework.data.mapping.PropertyReferenceException:找不到类型AddressEntity的属性findAll

原因:org.springframework.data.mapping.PropertyReferenceException:找不到类型AdressEntity的属性findAll

我是否缺少任何配置。

获得解决方案;)

需要创建两个单独的配置类,因为我们不能在同一配置类上使用两个@EnableJpaRepositories

因此,我们创建了以下两个配置类

@EnableJpaRepositories(basePackages = "com.example.jpa.dao")
class JpaConfig {}

@EnableJpaRepositories(repositoryFactoryBeanClass = EnversRevisionRepositoryFactoryBean, basePackages = "com.example.envers.dao")
class EnversConfig {}
class PersonServiceImpl implements PersonService{
    @Autowire PersonDAO personDAO;
}

class AddressServiceImpl implements AddressService{
    @Autowire AddressDAO addressDAO;
}
@EnableJpaRepositories(basePackages = "com.example.jpa.dao")
class JpaConfig {}

@EnableJpaRepositories(repositoryFactoryBeanClass = EnversRevisionRepositoryFactoryBean, basePackages = "com.example.envers.dao")
class EnversConfig {}