Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Spring中解析MongoRepository的变量名_Java_Spring_Mongodb_Mongorepository - Fatal编程技术网

Java 在Spring中解析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>{

MongoRepository中带
\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;