JPA count使用问题

今天在测试中发现一个问题,开始代码如下:

		CriteriaBuilder cb = entityManager.getCriteriaBuilder();
		CriteriaQuery<Member> cq = cb.createQuery(Member.class);
		Root<Member> root = cq.from(Member.class);
		cq.select(root).orderBy(cb.desc(root.get(Member_.createdTime)))
				.distinct(true);

		CriteriaQuery<Long> cqCount = cb.createQuery(Long.class);
		Root<Member> rootCount = cqCount.from(Member.class);
		cqCount.select(cb.count(rootCount)).distinct(true);

 但测试时发现cqCount.select(cb.count(rootCount)).distinct(true);里面的distinct(true)并没有生效,查API后更改为

	cqCount.select(cb.countDistinct(rootCount));

欢迎加入JPA讨论群讨论学习!

欢迎加入JPA讨论群:234134357

你可能感兴趣的:(jpa,distinct,count)