如何在 Spring Roo 中实现基于 NamedQuery 的查找器?

发布于 2024-09-26 03:47:00 字数 125 浏览 7 评论 0原文

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

I can't find information about how to use standard JPQL based queries with Spring Roo project. I'm not sure if dynamic finders will be sufficient for complex queries. Is there any way to use @NamedQueries in Spring Roo project without breaking the concept of absence of DAO layer ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

愿与i 2024-10-03 03:47:00

假设您正在使用 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();
    }

一切顺利


这是 ERD 图,以防您可能需要。

Assume you are using Hibernate.
Following is the native name query in entity.

@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
    )
})

This is how you call it from an Purchases entity define in Purchases.java.

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

All the best

P.S
this is ERD diagram in case you might need.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文