Spring ROO定制发现器

时间:2013-03-13 09:54:12

标签: spring-roo

我使用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文件中生成它?

由于

1 个答案:

答案 0 :(得分:3)

如果我理解正确,您希望向与您的权利相关的AspectJ IDT文件添加一个新方法,该方法由Spring Roo生成。

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

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

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