我们已经按照Spring Data文档所示完全实现了我们的代码库。一切都很顺利,直到我们从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
虽然这只是一个标记(不影响编译),但它很烦人且令人困惑。有谁能为此提供一些解释?并像我六岁一样给我解释一下!;)
虽然这只是一个标记(不影响编译),但它很烦人且令人困惑。有谁能为此提供一些解释?并像我六岁一样给我解释一下!;)