【问题标题】:How to generate jspx and controllers files for complex (custom) finders in Spring ROO?如何在 Spring ROO 中为复杂(自定义)查找器生成 jspx 和控制器文件?
【发布时间】:2011-01-29 22:00:08
【问题描述】:

我想创建一个复杂的自定义查找器并为其生成 jspx 文件。

我有一个名为 Payment 的类,它由 spring ROO 生成(请注意实际代码已被修改以简化操作):

package com.mystuff.orm;
...
@RooJavaBean
@RooToString
public class Payment {

   private Double someValue;
    ...

    // My Custom finder!!
   public static TypedQuery<PaymentSummary> findPaymentStatistics(Calendar fromDate, Calendar toDate) {
    if (fromDate == null || toDate == null)
        throw new IllegalArgumentException("Date period argument is required");
    EntityManager em = Payment.entityManager();
    TypedQuery<PaymentSummary> q = em.createQuery("select new com.mystuff.data.PaymentSummary(sum(o.someValue)) from Payment o where o.startDate >= :startDate and o.endDate <= :endDate", PaymentSummary.class);
    q.setParameter("startDate", fromDate);
    q.setParameter("endDate", toDate);
    return q;
   }

}

如何为这个查询生成 jspx 文件?每当我尝试运行“finder add --finderName findPaymentStatistics”时,我都会收到一条错误消息:

动态查找器无法匹配 Payment.java 中“findPaymentStatistics”查找器定义的“findPaymentStatistics”标记

有什么想法吗?

谢谢

【问题讨论】:

    标签: java spring-roo


    【解决方案1】:

    上面的“findPaymentStatistics”是您手动实现的方法吗?如果是这样,那么 Roo won't be able to generate the front end for it。但是,如果您让 Roo 自己创建查找器代码,它将生成一个前端。 Roo 应该能够生成与您手动编码的查找器类似的查找器。尝试运行:

    roo> finder list --class com.mystuff.orm.Payment --filter start,end
    

    这应该会为您提供 Roo 可以创建的动态查找器列表,其中包括 Payment 对象的“startDate”和“endDate”参数。

    【讨论】:

      猜你喜欢
      • 2012-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-24
      • 2014-11-18
      相关资源
      最近更新 更多