Я получил следующую сущность:
@Entity
@Document(collection = "devices")
public class Device {
@Id
private Long id;
@ElementCollection
@Column(name = "basic_info")
private Map<String, String> basicInfo;
// getters, setters
и следующий код хранилища:
@Repository
public interface DeviceRepository extends MongoRepository<Device, Long> {
List<Device> findByBasicInfo_Name(String name);
и документ выглядит так:
"id": 1,
"basicInfo": {
"created": "timestamp",
"name": "string",
"type": "string",
"status": "string"
}
Я пытаюсь получить документ на основе ключа "name"
в "basicInfo"
с помощью функции findByBasicInfo_Name
, я даже пытался с помощью findByBasicInfoName
, как кто-то предложил в другом потоке, но безуспешно. Я получаю следующую ошибку:
Caused by: org.springframework.data.mapping.PropertyReferenceException: No property name found for type String! Traversed path: Device.basicInfo.