小编Ant*_*nyi的帖子

JPA 2 Criteria API,儿童计数标准

我正在尝试实现类似的东西:

SELECT c.*, asCount.assetCount
FROM Company c
LEFT JOIN (
    SELECT company_id, COUNT(*) as assetCount 
    FROM Asset 
    GROUP BY company_id) asCount
ON c.id = asCount.company_id
Run Code Online (Sandbox Code Playgroud)

问题:如何使用 JPA 2 Criteria 来实现这一点?

我可以单独获取 asCount 结果,但不知道如何将其加入公司

CriteriaBuilder builder = em.getCriteriaBuilder();
CriteriaQuery<Tuple> cq = builder.createTupleQuery();
Root<Asset> asset = cq.from(Asset.class);
cq.multiselect(asset.<Company>get("company").<Long>get("id").alias("id"), builder.count(asset).alias("assetCount"));
cq.groupBy( asset.<Company>get("company").<Long>get("id") );

Query query = em.createQuery(cq);
List<Tuple> results = query.getResultList();
Run Code Online (Sandbox Code Playgroud)

提前致谢。

PS
1. 有一个类似的线程使用 Hibernate API 询问子项计数: Hibernate 子项计数标准
2. 描述该主题的另一个有用线程:JPA CriteriaBuilder - 按一对多关系中关联实体的数量排序

java jpa criteria

4
推荐指数
1
解决办法
4294
查看次数

运行JBoss 7.1.1.Final作为Windows服务

将JBoss 7作为Windows服务运行的正确指令是什么?

配置:Windows Server 2008 64位,
Java版"1.6.0_26"64位,
JBoss 7.1.1.Final.

我找不到任何关于如何执行此操作的官方手册.
谢谢.

PS:类似的问题已在stackoverflow上关闭 - 如何配置Jboss 7(v7.1.0)作为Windows服务运行

windows jboss windows-services jboss7.x

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

criteria ×1

java ×1

jboss ×1

jboss7.x ×1

jpa ×1

windows ×1

windows-services ×1