Мы внедрили наши репозитории в точности, как показано в документации по документам Spring. Все было нормально, пока мы не перешли с STS 2.9 на STS 3.1. Все попытки получить эти ошибки исчезли, и в некоторых случаях они даже не имеют смысла! Они не соответствуют каким-либо свойствам в интерфейсе или используемых объектах!
Вот пример:
public interface CreditNotesRepository extends JpaRepository<CreditNotes, Long> {
CreditNotes findCurrentCreditNotes(Long shipmentDetailId);
}
findCurrentCreditNotes
- это именованный запрос в нашей сущности. Этот код выполняется отлично.
@NamedQueries({
@NamedQuery(name = "CreditNotes.getCount", query = "SELECT COUNT(f) FROM CreditNotes f"),
@NamedQuery(name = "CreditNotes.findCurrentCreditNotes", query =
"SELECT creditNotes FROM CreditNotes creditNotes"
+ " WHERE creditNotes.shipmentDetail.shipmentDetailId = ?1 "
+ " AND creditNotes.notesSeqNumber = (SELECT max(creditNotes2.notesSeqNumber) FROM CreditNotes creditNotes2"
+ " WHERE creditNotes.shipmentDetail.shipmentDetailId = creditNotes2.shipmentDetail.shipmentDetailId)")
})
И получим ошибку:
Invalid derived query! No property find found for type ca.cole.freight.model.CreditNotes
Хотя это всего лишь флаг (не влияет на компиляцию), он раздражает и запутывает. Может кто-нибудь пролить некоторый свет на это? И объясните это мне, как мне 6 лет!;)