2014-10-20 44 views
0

搜索DEFSpring Roo生成無效查找器?

@RooJpaActiveRecord(finders = {"findIndividualJobsByIndividualAndIndividualJobType"}) 

型號字段

@Enumerated(EnumType.STRING) 
@ElementCollection(targetClass=IndividualJobType.class) 
private List<IndividualJobType> individualJobType; 

小豆正在產生該搜索在那裏混合字符串&的StringBuffer

public static TypedQuery<IndividualJob> IndividualJob.findIndividualJobsByIndividualAndIndividualJobType(Individual individual, List<IndividualJobType> individualJobType, String sortFieldName, String sortOrder) { 
    if (individual == null) throw new IllegalArgumentException("The individual argument is required"); 
    if (individualJobType == null) throw new IllegalArgumentException("The individualJobType argument is required"); 
    EntityManager em = IndividualJob.entityManager(); 
    StringBuilder queryBuilder = new StringBuilder("SELECT o FROM IndividualJob AS o WHERE o.individual = :individual AND"); 
    for (int i = 0; i < individualJobType.size(); i++) { 
     if (i > 0) queryBuilder.append(" AND"); 
     queryBuilder.append(" :individualJobType_item").append(i).append(" MEMBER OF o.individualJobType"); 
    } 
    if (fieldNames4OrderClauseFilter.contains(sortFieldName)) { 
     jpaQuery = jpaQuery + " ORDER BY " + sortFieldName; 
     if ("ASC".equalsIgnoreCase(sortOrder) || "DESC".equalsIgnoreCase(sortOrder)) { 
      queryBuilder.append(" " + sortOrder); 
     } 
    } 
    TypedQuery<IndividualJob> q = em.createQuery(queryBuilder.toString(), IndividualJob.class); 
    q.setParameter("individual", individual); 
    int individualJobTypeIndex = 0; 
    for (IndividualJobType _individualjobtype: individualJobType) { 
     q.setParameter("individualJobType_item" + individualJobTypeIndex++, _individualjobtype); 
    } 
    return q; 
} 

其它非枚舉ElementCollections正確生成。

任何想法?

回答

1

我想你找到了一個bug。你能在https://jira.spring.io/browse/ROO/上報告嗎? (謝謝!)

在另一方面,解決方法可能是推擠的.java方法和手工修復 代碼(這是袋鼠的一大點,你是不是鏈接到它生成的代碼;-))

祝你好運!

+0

https://jira.spring.io/browse/ROO-3545謝謝 – 2014-10-21 14:18:48

相關問題