Heloo 我需要查询mongodb数据库并查找具有指定枚举值的文档。 这是我的枚举类:
public enum DataType {
value1,value2,value3
}
以下是我在存储库中实现它的方法:
public interface MainDataRepo extends CrudRepository<MainData, Long>{
public Page<MainData> findTop100ByDataTypeByOrderByDateDesc(Pageable
pageable, DataType dataType);
}
但是抛出了这个异常:
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'mainDataRepo': Invocation of init method failed; nested exception
is org.springframework.data.mapping.PropertyReferenceException: No property
by found for type DataType! Traversed path: MainData.dataType.
我知道问题在哪里, 感谢。
编辑:
This is MainData class:
@Document(collection="MainData")
public class MainData {
@Id
private Integer id;
private String text;
private String url;
private long date;
private String sender;
private String symbol;
private DataType dataType;
//setters and getters
}
我也改变输入参数顺序,并定义如下方法:
findTop100ByDataTypeByOrderByDateDesc(DataType dataType, Pageable pageable);
但仍然是同样的错误。
答案 0 :(得分:1)
方法名称应为
findTop100ByDataTypeOrderByDateDesc
DataType和Order之间还有一个额外的按。所以spring数据认为有一个名为by
的字段并试图在你的MainData类中搜索它。因而错误。