2013-03-13 5 views
1

Я использую Spring ROO, я успеваю генерировать искатели. проблема в том, что каждое свойство находится в своем собственном меню, я хочу создать пользовательский поиск в одной форме.Spring ROO custom finder

Я начал добавлять метод в моей сущности, вот метод

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 файл?

Благодаря

ответ

3

Если я вас правильно понял вы хотите добавить новый метод в файл AspectJ IDT, связанные с вашим entitiy, который генерируется Spring Roo.

Если это так, я советую сохранить ваши изменения в файле .java. Так работает Spring Roo, он генерирует код в файлах .aj, и вы пишете свой собственный код в .java-файлах. Если вы измените файл .aj, он будет перезаписан Roo.

У вас может быть больше информации о том, как это работает в Spring Roo reference documentation, а также recommended practices.

Если вы хотите добавить новую функциональность, которая может быть включена в любой объект, вы можете создавать свои собственные дополнения Roo, которые затем генерируют свои собственные .aj-файлы, добавляя новые методы, которые вам нужны.