我有一个具有字符串类型的属性first_name
的类人,现在我想在PersonRepository中定义一个find方法,该方法可以找到所有名字等于字符串的人。我正在像这样在Person存储库中添加此方法。
List<Person> findByFirst_name(String first_name)
,但我收到错误消息,指出人员类中没有属性first
。我已经定义了很多find方法,但是这些属性不包含_
,因此我可以轻松定义这些findBy方法。我仅在名称字符串中具有_
(下划线)的属性时才遇到此问题。
由于某些原因,我无法将first_name
更改为fisrtName
,我在做错什么吗?如何为具有_
的属性创建findBy方法,这是特例吗?
这是我的代码。 Person.java
@Document(collection="person")
public class Person {
@Id
private String id;
private String first_name;
private String last_name;
private String gender;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getFirst_name() {
return first_name;
}
public void setfirst_name(String first_name) {
this.first_name = first_name;
}
public String getLast_name() {
return last_name;
}
public void setLast_name(String last_name) {
this.last_name = last_name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
}
PersonRepository。
public interface PersonRepository extends MongoRepository<Person,String>{
List<Person> findByGender(String gender);
List<Person> findByFirst_name(String first_name); // throwing error (No property first found for type Person!)
}
错误: 由以下原因引起:org.springframework.data.mapping.PropertyReferenceException:首先找不到类型为Person的属性!