Hier ist ein vereinfachtes Beispiel für mein Problem. Ich habe dieses Repository und diese Entitätsklasse.Wie erstellen Sie eine Spring JPA-Repository-Abfrage findBy mithilfe einer Eigenschaft, die ein Schlüsselwort enthält?
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 */
}
Der Frühling wirft die folgende Ausnahme.
org.springframework.data.mapping.PropertyReferenceException: No property foo found for type ThingEntity!
Es sieht aus wie Frühling ist die Methode findByFooInAndBar
nehmen und denkt, dass foo
mein Eigentum Name ist und in
ist ein Schlüsselwort für die Werte innerhalb einer Sammlung passen.
Wie bekomme ich es zu verstehen, dass der Name der Eigenschaft fooIn
ist, nicht foo
?
ich glaube nicht, dass es einen Weg gibt, dieses Verhalten anders als das Schreiben Ihrer eigenen Verfahren zu umgehen. Oder einfach das Feld auf "fooin" umbenennen, vielleicht ohne Großbuchstaben? –