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歳のように説明してください!;)