如何在JPQL中选择多个count()选择的总和 [英] How to select the sum of multiple count() selections in JPQL
本文介绍了如何在JPQL中选择多个count()选择的总和的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
以下SQL语句的等效JQPL语句是什么:
What's the equivalent JQPL statement of the following SQL statement:
SELECT (SELECT COUNT(*) FROM foo) + (SELECT COUNT(*) FROM bar)
推荐答案
You can use the query you stated above along with EntityManager's createNativeQuery function see example class below:
package facades;
import javax.ejb.LocalBean;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
@Stateless
@LocalBean
public class CustomFacade {
@PersistenceContext(unitName = "TestJPQLPU")
private EntityManager em;
public CustomFacade(){}
/**
* Gets the count of all records in tables foo and bar.
* @return number of records as Long.
*/
public Long getCountOfObjects(){
Query countQuery = em.createNativeQuery("SELECT((SELECT COUNT(*) FROM Foo) + (SELECT COUNT(*) FROM Bar))");
Long count = (Long) countQuery.getSingleResult();
return count;
}
}
这篇关于如何在JPQL中选择多个count()选择的总和的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文