Java 在Spring中解析MongoRepository的变量名
MongoRepository中带Java 在Spring中解析MongoRepository的变量名,java,spring,mongodb,mongorepository,Java,Spring,Mongodb,Mongorepository,MongoRepository中带\uuu的变量的正确方法名称是什么 History.java @Document(collection = "spring-history") public class History { private Long record_id; //getter - setter } public interface HistoryRepository extends MongoRepository<History, String>{
\uuu
的变量的正确方法名称是什么
History.java
@Document(collection = "spring-history")
public class History {
private Long record_id;
//getter - setter
}
public interface HistoryRepository extends MongoRepository<History, String>{
List<History> findAllByRecordid(Long recordId);
}
HistoryRepository.java
@Document(collection = "spring-history")
public class History {
private Long record_id;
//getter - setter
}
public interface HistoryRepository extends MongoRepository<History, String>{
List<History> findAllByRecordid(Long recordId);
}
我尝试过以下变量选项,但都不起作用
List<History> findAllByRecordId(Long recordId);
List<History> findAllByRecord_id(Long recordId);
List<History> findAllByRecord__id(Long recordId);
列出findAllByRecordId(长记录ID);
列出findAllByRecord_id(长记录id);
列出findAllByRecord\uu id(长记录id);
将变量声明从
private Long record_id;
到
并使用以下命令:
List<History> findByRecordId(Long recordId);
列出findByRecordId(长记录ID);
异常表示未找到类型历史记录的属性recordid代码>
这是因为编写为findAllByRecordid
的存储库方法当前正在History
类中查找属性recordid
你要做的就是相应地改变你的历史
课程;例如,您可以更改
private Long record_id;
到
但是,由于我假设record\u id
是一个组合名称变量,因此应该使用驼峰大小写约定,并将其命名为recordId
按照驼峰案例约定,还必须将存储库方法更改为List findByRecordId(Long recordId)代码>
在这种情况下,为了将recordId
属性映射到MongoDB BSON文档中的实际键,还必须使用@字段
注释recordId
。有关更多详细信息,请查看使用
@Field("record_id")
private Long recordId;
正如您所知,mongodb处理JSONDocument,所以我们在密钥名中使用了JSON标准。此外,我们在mongodb中插入了数千条带有record\u id
的记录,因此现在无法更改。我还尝试了@JsonProperty(“record\u id”)私有长recordId
但它不起作用您必须使用属性上的@字段
注释将其实际映射到JSON键名。正如您所知,mongodb处理JSONDocument,因此我们在键名中使用了JSON标准。此外,我们在mongodb中插入了数千条带有record\u id
的记录,因此现在无法更改。我还尝试了@JsonProperty(“record\u id”)私有长recordId
但它不工作try@Field(“记录id”)私有长记录id代码>
@Field("record_id")
private Long recordId;