Here is a simplified example of my problem. I have this repository and entity class.
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 */
}
Spring is throwing the following exception.
org.springframework.data.mapping.PropertyReferenceException: No property foo found for type ThingEntity!
It looks like Spring is taking the method findByFooInAndBar
and thinks that foo
is my property name and in
is a keyword for matching values within a collection.
How do I get it to understand that the property name is fooIn
, not foo
?
To overcome this problem, I've defined the query manually using the
@Query
annotation. I'll happily accept anyone else's answer if they find a solution that doesn't require a manual query.Spring is parsing 'In' in your method to create the query check the link for create your query you should change the name of the variable fooIn to fooin or something like that....