【问题标题】:Spring ROO custom finderSpring ROO 自定义查找器
【发布时间】:2013-03-13 09:54:11
【问题描述】:

我使用 Spring ROO ,我成功生成了查找器。 问题是每个属性都在自己的菜单中,我想以一种形式生成自定义查找器。

我首先在我的实体中添加了一个方法,这是方法

  public static TypedQuery<com.keyrus.outside.business.entity.Candidate> findCandidatesByCustomDataLike(String principalSkills, String university) {
    if (principalSkills != null) {
        principalSkills = principalSkills.replace('*', '%');
        if (principalSkills.charAt(0) != '%') {
            principalSkills = "%" + principalSkills;
        }
        if (principalSkills.charAt(principalSkills.length() - 1) != '%') {
            principalSkills = principalSkills + "%";
        }
    }
    if (university != null) {
        university = university.replace('*', '%');
        if (university.charAt(0) != '%') {
            university = "%" + university;
        }
        if (university.charAt(university.length() - 1) != '%') {
            university = university + "%";
        }
    }
    EntityManager em = Candidate.entityManager();
    TypedQuery<Candidate> q = em.createQuery("SELECT o FROM Candidate AS o WHERE LOWER(o.principalSkills) LIKE LOWER(:principalSkills)" + 
    " AND LOWER(o.university) LIKE LOWER(:university)", Candidate.class);
    q.setParameter("principalSkills", principalSkills);
    q.setParameter("university", university);
    return q;
}

如何在 *.aj 文件中生成它?

谢谢

【问题讨论】:

    标签: spring-roo


    【解决方案1】:

    如果我理解正确,您想在与您的实体相关的 AspectJ IDT 文件中添加一个新方法,该文件由 Spring Roo 生成。

    如果是这种情况,我建议您将更改保留在实体 .java 文件中。这就是 Spring Roo 的工作方式,它在 .aj 文件中生成代码,而您在 .java 文件中编写自己的代码。如果您修改 .aj 文件,它将被 Roo 覆盖。

    您可以在Spring Roo reference documentationrecommended practices 中获得有关其工作原理的更多信息。

    如果您想要添加一个新功能,可以合并到任何实体中,您可以开发自己的 Roo 插件,然后生成自己的 .aj 文件,添加您需要的新方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-05
      相关资源
      最近更新 更多