2017-11-08 3 views
0

私は春のブート、休止状態の逆を使用しています。私はpom.xmlに次の依存関係があります。EnversRevisionRepositoryFactoryBean JPARepositoriesのbeanを作成するためのdosenot

<dependency> 
    <groupId>org.springframework.data</groupId> 
    <artifactId>spring-data-envers</artifactId> 
</dependency> 

次は私のenvers設定です。

@Configuration 
@EnableJpaRepositories(repositoryFactoryBeanClass = 
EnversRevisionRepositoryFactoryBean.class, basePackages = { 
"com.example.persistence" }) 
public class EnversConf 
{ 

} 

のでcom.example.persistencePersonDAOAddressDAOともエンティティを持っているパッケージ。

私は監査する必要はありません2つの、私が監査するエンティティPersonEntityAddressEntityを持って、

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

interface AddressDAO extends JpaRepository<AddressEntity, Integer>{} 

を2つのDAOを以下しています。

私はAddressDAOのための豆を取得することができない@EnableJpaRepositories(...)設定を追加すると今私は2つのサービス、

class PersonServiceImpl implements PersonService{ 
    @Autowire PersonDAO personDAO; 
} 

class AddressServiceImpl implements AddressService{ 
    @Autowire AddressDAO addressDAO; 
} 

を次のようしています。 RevisionRepositoryJpaRepositoryの両方でEnversRevisionRepositoryFactoryBeanが動作すると思いました。私は、例外スタックトレース次しまった

org.springframework.beans.factory.UnsatisfiedDependencyException:エラー '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:タイプが見つからないプロパティfindAllがタイプAdressEntity!

設定がありません。

答えて

0

ガット溶液;)

我々は同じ構成クラス上の2つの@EnableJpaRepositoriesを使用することはできませんように2つの別々の設定クラスを作成する必要があります。

ように、2つのコンフィギュレーション・クラス以下の作成した

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

@EnableJpaRepositories(repositoryFactoryBeanClass = EnversRevisionRepositoryFactoryBean, basePackages = "com.example.envers.dao") 
class EnversConfig {} 
関連する問題