【发布时间】:2015-10-15 16:00:28
【问题描述】:
这是我的问题的简化示例。我有这个存储库和实体类。
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 抛出以下异常。
org.springframework.data.mapping.PropertyReferenceException: No property foo found for type ThingEntity!
看起来 Spring 正在采用方法 findByFooInAndBar 并认为 foo 是我的属性名称,in 是用于匹配集合中值的关键字。
我如何理解属性名称是fooIn,而不是foo?
【问题讨论】:
-
我认为除了编写自己的方法之外没有其他方法可以绕过这种行为。或者只是将字段重命名为
fooin可能没有大写?
标签: java spring-data-jpa