我使用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文件中生成它?
由于
答案 0 :(得分:3)
如果我理解正确,您希望向与您的权利相关的AspectJ IDT文件添加一个新方法,该方法由Spring Roo生成。
如果是这种情况,我建议您将更改保留在实体.java文件中。这是Spring Roo的工作方式,它在.aj文件中生成代码,并在.java文件中编写自己的代码。如果您修改.aj文件,它将被Roo覆盖。
您可以在Spring Roo reference documentation以及recommended practices中获得有关其工作原理的更多信息。
如果你想要的是添加一个可以合并到任何实体中的新功能,你可以开发自己的Roo插件,然后生成他们自己的.aj文件,添加你需要的新方法。