Comment créez-vous une requête findBy de Spring JPA Repository en utilisant une propriété qui contient un mot-clé?
Voici un exemple simplifié de mon problème. J'ai ce référentiel et de la classe d'entité.
public interface ThingRepository extends JpaRepository<ThingEntity, Long> {
ThingEntity findByFooInAndBar(String fooIn, String bar);
}
@Entity
public class ThingEntity {
@Column(name="FOO_IN", nullable=false, length=1)
private String fooIn;
public String getFooIn() {
return fooIn;
}
public setFooIn(String fooIn) {
this.fooIn = fooIn;
}
/* not including bar property for brevity's sake */
}
Printemps est en train de jeter l'exception suivante.
org.springframework.data.mapping.PropertyReferenceException: No property foo found for type ThingEntity!
On dirait que le Printemps est la prise de la méthode findByFooInAndBar
et pense que foo
est mon nom de propriété et in
est un mot-clé pour la mise en correspondance des valeurs au sein d'une collection.
Comment puis-je obtenir pour comprendre que le nom de la propriété est fooIn
pas foo
?
source d'informationauteur Ben M.
Vous devez vous connecter pour publier un commentaire.
Pour surmonter ce problème, j'ai défini la requête manuellement à l'aide de la
@Query
annotation. Je vais heureux d'accepter de quelqu'un d'autre répondre si ils trouvent une solution qui ne nécessite pas un manuel de requête.Printemps est l'analyse "Dans" dans votre méthode pour créer la requête de vérifier le lien pour créer votre requête, vous devez changer le nom de la variable fooIn à fooin ou quelque chose comme ça....