Spring Boot中JPA如何实现按日期合计
1. 用queryDsl方法
JPAQueryFactory.select(
	Projections.fields(OrderCountByDayBean.class,
			qOrder.amount.sum().as("amount"),
			qOrder.payTime.year().as("year"),
			qOrder.payTime.dayOfYear().as("dayOfYear")))
	.from(qOrder).where(where)
	.groupBy(qOrder.payTime.year(), qOrder.payTime.dayOfYear())
	.orderBy(qOrder.payTime.year().asc(), qOrder.payTime.dayOfYear().asc())
	.fetch();
*得到的结果是List<OrderCountByDayBean>
2. 用@Query方法
@Query("select new dto.OrderTotalDTO(sum(u.amount), date_format(u.payTime, '%Y-%m-%d')) from Order u where u.payTime >= ?1 group by date_format(u.payTime, '%Y-%m-%d')")
*这里类似sql文,但是有所不同,比如from的不是table名字,而是model名
    ---栖息之鹰(一个外表懒洋洋的内心有激情的程序员)
此博客为笔者原著,转载时请注明出处,谢谢!
 
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号