不在Spring Crud存储库中使用分页查询

时间:2016-03-10 10:44:11

标签: spring-boot spring-data-jpa

帮我解决这个问题,

我正在使用带有Crud存储库的Spring Boot,我的数据库架构看起来像: -

  1. 发布(id,title,createdDate,user)
  2. ReportedAbuse(id,postId,user_id)
  3. 帖子表包含所有帖子详细信息,ReportedAbuse表包含postId和userId(如果有任何用户将某些帖子标记为滥用,则此条目将存储在此处)

    现在我想获取那些尚未被当前登录用户标记为滥用的帖子。

    我写的查询如下: -

    public interface PostRepo extends PagingAndSortingRepository<Post, Long> {
    
            public Page<Post> findAllByUserOrderByCreatedDateDesc(Pageable pageable,
            User userId);
    
    }
    

    通过使用查询注释(@Query),我无法加入这两个表。

1 个答案:

答案 0 :(得分:0)

这可能会帮助您创建@Query事物。但是如果你真的需要@query来做一个没有意义的连接。您在创建实体时执行连接。请记住,您上面有一个用户对象,我将userid作为字符串。

@Query("select * from Post P, ReportedAbuse RA where p.id=RA.postId and RA.user_id= :userId" ORDER BY P.createdDate)
    public Page<Post> abusedPost(Pageable pageable,@Param("id") String userId);