0

我找不到有关如何在 Spring Roo 项目中使用基于标准 JPQL 的查询的信息。我不确定动态查找器是否足以处理复杂的查询。有什么方法可以在 Spring Roo 项目中使用 @NamedQueries 而不会破坏 DAO 层缺失的概念?

4

1 回答 1

0

假设您正在使用 Hibernate。以下是实体中的本机名称查询。

@NamedNativeQueries({
    @NamedNativeQuery(
            name="findBestSellingPurchases",
            query="select p.id,p.date_of_purchase,sum(p.quantity_purchased) as quantity_purchased,p.version,p.client,p.item,p.staff_member from purchases p group by p.item order by sum(p.quantity_purchased) desc",
            resultClass=Purchases.class
    )
})

这就是您从 Purchases.java 中定义的 Purchases 实体调用它的方式。

    @SuppressWarnings("unchecked")
    public static List<Purchases> findBestSellingPurchases() {
        return entityManager().createNamedQuery("findBestSellingPurchases").getResultList();
    }

一切顺利

PS这是ERD图,以防您需要。

于 2010-11-20T08:49:34.127 回答