Мой класс сущностей определен следующим образом:
@Document(indexName = "payload-pojo")
public class PayloadPojo {
@Id
private String id;
@Field(index = false,type = FieldType.Binary)
byte[] payload;
}
, а Репозиторий определен следующим образом:
public interface PayloadRepository extends ElasticsearchRepository<PayloadPojo, String> {
}
В ES 6.8.1 (Spring Data Elasticsearch 3.2.0 ) Мне удалось без проблем хранить и читать двоичные данные.
Теперь я хотел бы перейти на ES 7.5.2, поэтому я перенес проект на использование Spring Data Elasticsearch 4.0.0. С тех пор, когда я пытаюсь вызвать что-то вроде payloadRepo.findAll()
, я получаю исключение преобразования: Failed to convert from type [java.lang.String] to type [byte]
. Данные хранятся в виде строки в кодировке base64.
Есть ли у вас какие-либо представления о том, что изменилось и как изменить мой код, чтобы правильно прочитать это значение?
Спасибо