Я пытаюсь десериализовать точку в объект Java.
Вот класс сущности, который я использую.
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import com.vividsolutions.jts.geom.*;
@Data
@Entity(name = "magic_points")
public class MagicPoint {
@Id
Integer id;
@Column(name = "p", columnDefinition="Point")
private Point point;
@Column(name = "description")
private String description;
}
Репозиторий
import com.playground.springplayground.db.entities.MagicPoint;
import com.vividsolutions.jts.geom.Point;
import org.springframework.data.repository.Repository;
public interface MagicPointRepository extends Repository<MagicPoint, Integer> {
List<MagicPoint> getAllByDescription(String description);
}
и способ, которым я его называю.
List<MagicPoint> magicPoints = magicPointRepository.getAllByDescription("Abc");
Я использую следующую библиотеку для геоданных:
группа компиляции: 'com.vividsolutions', имя: 'jts', версия: '1.13'
База данных - это MySql, версия 8.0.13
И данные, которые я сохранил в базе данных:
Это ошибка, которую я получаю:
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.orm.jpa.JpaSystemException: could not deserialize; nested exception is org.hibernate.type.SerializationException: could not deserialize] with root cause
java.io.StreamCorruptedException: invalid stream header: E6100000
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:866) ~[na:1.8.0_181]
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:358) ~[na:1.8.0_181]
Является ли com.vividsolutions.jts хороший подход для отображения геоданных, хранящихся в базах данных SQL?Это то, чего мне не хватает?Я не мог найти ничего связанного с этим до сих пор.Сообщение об ошибке сопоставления не приносит никакой полезной информации, если отсутствует драйвер или есть какая-то другая зависимость, которую я должен учитывать.
EDIT Чтобы воспроизвести его на локальном компьютере, я добавилкод на Github
git clone https://github.com/florin-t/deserialize-geolocation-point.git
Существует также файл README.TXT с некоторыми инструкциями, касающимися базы данных и application.config.