Spring Boot Mongo数据库继承

时间:2018-10-23 16:04:55

标签: mongodb spring-boot spring-data-jpa

Class A{
public String phone;
}

@Document
Class B extends A{
public String location;
///getter and setter
}

@Repository
public interface B extends MongoRepository<B, String> {

   List<B> findByphone(String wphone);

}

使用此findByphone(phone)时,我的api会说

“状态”:500,     “错误”:“内部服务器错误”,     “ message”:“在类com.example.demo.model.B上找不到属性'phone'!您的意思是:phone,Phone?”

1 个答案:

答案 0 :(得分:0)

尝试在mongodb字段中使用@Field,并且还需要将@Id与每个文档相关联

Class A {

    @Field
    public String phone;

    // getters and setters
}

@Document(collection = "B")
Class B extends A {

    @Id
    private String id;
    @Field
    public String location;

    // getter and setter
}

还在您的存储库界面中使用类似的方法

 List<B> findByPhone(String wphone);