Я пытаюсь получить доступ к слою данных mongodb с помощью данных Spring MongoRepository. Таким образом, здесь я могу выполнять основные операции CRUD с использованием конечной точки хранилища, но не смог выполнить пользовательский поиск.
Класс модели:
@Document(collection = "merchant")
public class Merchant {
@Id
private String id;
private Long zohoAccountRefId;
private String businessId;
private String businessName;
private String businessAddress;
private String businessPhone;
private String description;
private String businessEmail;
private String accountType;
private BusinessOwner businessOwner;
private List<Product> products;
private List<Plugin> plugins;
private List<Service> services;
@DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)
private Date dateCreated;
//getters and setters
}
Хранилище:
@RepositoryRestResource(collectionResourceRel = "account",path = "account")
public interface MerchantRepository extends MongoRepository<Merchant,String> {
@RestResource(path = "businessName",rel = "businessName")
List<Merchant> findByName(@Param("businessName") String businessName);
}
Когда я пытаюсь использовать этот код, я получаю следующую ошибку:
Caused by: org.springframework.data.mapping.PropertyReferenceException: No property name found for type Merchant!
Это правильный способ реализовать это? или какое решение для этой проблемы я получаю?