我们已经完全按照 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
虽然这只是一个标志(不影响编译),但它很烦人且令人困惑。任何人都可以对此有所了解吗?像我6岁一样向我解释!;)