1

私は Spring ROO を使用しており、ファインダーの生成に成功しています。問題は、すべてのプロパティが独自のメニューにあることです。1 つのフォームでカスタム ファインダーを生成したいと考えています。

エンティティにメソッドを追加することから始めました。これがメソッドです

  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 ファイルでどのように生成できますか?

ありがとう

4

1 に答える 1

3

私が正しく理解している場合は、Spring Roo によって生成されたエンティティに関連する AspectJ IDT ファイルに新しいメソッドを追加したいと考えています。

その場合は、エンティティ .java ファイルに変更を保存することをお勧めします。これが Spring Roo の動作であり、.aj ファイルにコードを生成し、.java ファイルに独自のコードを記述します。.aj ファイルを変更すると、Roo によって上書きされます。

どのように機能するかについての詳細は、Spring Roo のリファレンス ドキュメント推奨される方法を参照してください。

任意のエンティティに組み込むことができる新しい機能を追加することが必要な場合は、独自の Roo アドオンを開発できます。これにより、必要な新しいメソッドを追加する独自の .aj ファイルが生成されます。

于 2014-08-29T06:57:08.420 に答える