Obtenir non Valide “dérivée de la requête” erreur toute la place dans notre source de Données JpaRepository interfaces en STS 3.1

Nous avons mis en œuvre nos référentiels exactement comme l'a démontré dans le Ressort des Données de la documentation. Tout allait bien jusqu'à ce que nous avons mis à niveau à partir de STS 2,9 à STS 3.1. Toutes les tentatives pour obtenir ces erreurs à disparaître ont échoué, et, dans certains cas, ils n'ont même pas de sens! Ils ne correspondent à aucune des propriétés de l'interface ou les entités utilisées!

Voici un exemple:

public interface CreditNotesRepository extends JpaRepository<CreditNotes, Long> {

    CreditNotes findCurrentCreditNotes(Long shipmentDetailId);
}

La findCurrentCreditNotes est une requête nommée notre entité. Ce code s'exécute parfaitement bien.

@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)")
})

Et de l'erreur, nous obtenons:

Invalid derived query! No property find found for type ca.cole.freight.model.CreditNotes

Bien que c'est juste un drapeau (n'affecte pas de compilation), il est ennuyeux et confus. Quelqu'un peut-il éclairer sur ce point? Et il m'expliquer comme je suis de 6 ans! 😉

InformationsquelleAutor skel625 | 2012-10-25