通过字段去排序,不用findAll(),用find(from 实体类 t order by t.实体类里面的字段),注意是实体类不是表

解决方案 »

  1.   

    HQL语句中通过order by排序~ hibernate也支持SQL查询:session.createSQLQuery()
      

  2.   

    不用自己实现?  你说的是jpa吧.  通过@Query注解写jpql(类hql)指定order属性
      

  3.   

    怎么写?在哪里写啊!public interface InformationDao extends PagingAndSortingRepository<Information, Long>, JpaSpecificationExecutor<Information> { Page<Information> findByCategoryid(Long categoryid, Pageable pageRequest);

    }这里面就能直接使用了,我sservice中直接调用就行....像findAll()这就是查询所有,findOne(long id)就是查询单独的,但这些在我的DAO中都没有写,写的这个方法还是单独查询这个ID的。所以完全不知道怎么搞.....
      

  4.   

    怎么写?在哪里写啊!public interface InformationDao extends PagingAndSortingRepository<Information, Long>, JpaSpecificationExecutor<Information> { Page<Information> findByCategoryid(Long categoryid, Pageable pageRequest);

    }这里面就能直接使用了,我sservice中直接调用就行....像findAll()这就是查询所有,findOne(long id)就是查询单独的,但这些在我的DAO中都没有写,写的这个方法还是单独查询这个ID的。所以完全不知道怎么搞.....
      

  5.   

    您意思是说在DAO中 写个方法设置标签@Query么? 具体怎么写???
      

  6.   

    怎么写?在哪里写啊!public interface InformationDao extends PagingAndSortingRepository<Information, Long>, JpaSpecificationExecutor<Information> { Page<Information> findByCategoryid(Long categoryid, Pageable pageRequest);

    }这里面就能直接使用了,我sservice中直接调用就行....像findAll()这就是查询所有,findOne(long id)就是查询单独的,但这些在我的DAO中都没有写,写的这个方法还是单独查询这个ID的。所以完全不知道怎么搞.....
    在Dao的实现类里面写
      

  7.   

    您意思是说在DAO中 写个方法设置标签@Query么? 具体怎么写???
    @Query("from Information info where info.category.id = ?1 order by info.id")
    Page<Information> findByCategoryid(Long categoryid, Pageable pageRequest);Information 类应该有个category属性吧,  ?1 是把参数列表的第一个参数传入. order by 后面就是排序属性.
    大概这个样子, 好久没用jpa了,你试下