JPA multiselect function groupBy orderBy

JPA multiselect function groupBy orderBy


@Autowired
EntityManager entityManager;

CriteriaBuilder builder = entityManager.getCriteriaBuilder();
CriteriaQuery<Object[]> query = builder.createQuery(Object[].class);
Root<Book> root = query.from(Book.class);

query.multiselect(root.get("date"), builder.sum(root.get("amount")))
        .groupBy(builder.function("date_format", Date.class, root.get("date"), builder.literal("%Y-%m")))
        .orderBy(builder.desc(root.get("date")));
List<Object[]> list = entityManager.createQuery(query).getResultList();

posted @ 2022-07-30 22:56  denghb  阅读(121)  评论(0编辑  收藏  举报