2016-11-10 4 views
0

私は、SpringインターフェイスでPaginationシステムを作成しようとしています。Pag​​ingAndSortingRepository。 私はインターネット上のいくつかのガイドに従っていますが、私は最初のステップで立ち往生しています。PagingAndSortingRepository(Spring MCV)とHibernate

私はこのエラーを取得するwebアプリケーションを実行しようとすると、私はこの方法

public interface ArtistaRepository extends PagingAndSortingRepository<Artista,Integer> { 
    List<Artista> findByNome(String nome); 
} 

PagingAndSortingRepositoryを実装:

No qualifying bean of type [javax.persistence.EntityManagerFactory] is defined 

私はエンティティマネージャとしてHibernateのSessionを使用します。私がインターネット上で見たすべての例では、JPA EntityManagerが使用されました。私はどのように私は私のコードを編集する必要があり、JPA EntityManagerを使用していないので

<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> 
     <property name="sessionFactory" ref="sessionFactory" />    
    </bean>  

    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> 
     <property name="dataSource" ref="dataSource"/>    
     <property name="packagesToScan" value="com.jeansedizioni.model"/> 
    </bean> 

これは私のconfiguration.xmlファイル内のコードですか?

は、私はそれがあなたのために役に立つことを願って、このコードを試してみてください事前

+2

は 'EntityManager'を使用して...プロジェクトが理由で、'春・データ・JPA'と呼ばれています。これはJPAのため、 'SessionFactory'ではなく' EntityManager'です。 –

+0

設定を追加できますか?利用可能な情報から、SpringでsessionFactoryを宣言することは、エンティティマネージャとして自動的には機能しません。エラーが言っているように、 'entityManagerFactory'を設定する必要があります。この[documentation](http://docs.spring.io/spring-data/jpa/docs/1.10.4.RELEASE/reference/html/#jpa.repositories)は便利です。 –

+0

私のコードを編集しました – MDP

答えて

1

Hibernateのセッション工場が動作しません宣言。 Spring-data-jpaリポジトリは、M. Deinumが書いたように、jpaエンティティマネージャでのみ動作します。

この設定を試してみてください:

<bean id="jpaVendorAdapter" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"> 
    <property name="showSql" value="true"/> 
    <property name="generateDdl" value="false"/> 
    <property name="database" value="<your database - Oracle, MySQL...>"/> 
</bean> 

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> 
    <property name="dataSource" ref="dataSource"/> 
    <property name="jpaVendorAdapter" ref="jpaVendorAdapter"/> 
    <property name="persistenceUnitName" value="default"/> 
    <!-- spring based scanning for entity classes>--> 
    <property name="packagesToScan" value="com.jeansedizioni.model"/> 
</bean> 


<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> 
    <property name="entityManagerFactory" ref="entityManagerFactory"/> 
</bean> 
0

でいただきありがとうございます。

//リポジトリコード

public interface ArtistaRepository extends JpaRepository<Artista,Integer> { 
    Page<Artista> findByNome(String nome,Pageable page); 
} 

//サービスコード

int totalElements; 
    int totalPages; 
    int numberOfElements; 

Pageable pageable = new PageRequest(page,size,Sort.Direction.DESC,"id"); 

Page<Artista> list=artistaRepository.findByNome(nome,pageable); 

totalElements=list.getTotalElements(); 
numberOfElements=list.getNumberOfElements(); 
totalPages=list.getTotalPages(); 
関連する問題