在spring数据jpa中不起作用查询

时间:2015-02-16 14:06:48

标签: java spring jpa

简单查询findByPost与List工作正常,但返回页面不起作用的方法。项目甚至开始。当删除此方法时,所有罚款;)

@Repository
public interface CategoryRepository extends CrudRepository<Category, Long>,
                                            PagingAndSortingRepository<Category,Long> {

    @Query("select c from Category c inner join fetch c.posts cp where cp.id =?1")
    List<Category> findAllByPost(long postId);

    @Query("select c from Category c inner join fetch c.posts cp where cp.id =?1")
    Page<Category> findAllByPost(long postId, Pageable pageable);
}

2 个答案:

答案 0 :(得分:0)

你不需要扩展CrudRepository,因为PagingAndSortingRepository已经这样做了。将您的签名更改为 -

public interface CategoryRepository扩展了PagingAndSortingRepository

答案 1 :(得分:0)

问题是 <div class="learnmore"> <a href="https://linktovideo" target="_self" onclick="window.open('https://linktovideo','_self','width=600,height=600'); return false;" class="learn-btn"> Watch Video </a> </div> 创建了两个查询,一个是原始查询,另一个是计数。计数查询不需要Page。您可以通过JOIN FETCH注释中的countQuery属性来解决此问题。更多细节在这里: -

http://codingexplained.com/coding/java/spring-framework/fetch-query-not-working-spring-data-jpa-pageable