Я работаю над проектом, где я буду получать широту и долготу пользователя. Из этого я хотел бы сохранить его в базе данных как Point. Однако, когда я пытаюсь сделать так, я побежал в следующее сообщение об ошибке: o.h.engine.jdbc.spi.SqlExceptionHelper : ERROR: Invalid endian flag value encountered.
Сопоставление с com.vividsolutions.jts.geom.Point недействительным флагом endian
Я принимаю модель, которая подвергается стороне клиента и отображение его следующим образом:
public static Point createPoint(double longitude, double latitude){
GeometryFactory gf = new GeometryFactory();
Coordinate coord = new Coordinate(longitude, latitude);
Point point = gf.createPoint(coord);
return point;
}
Так что я бы назвал это метод примерно следующим образом, чтобы отобразить значение в виде точки:
createPoint(user.getLocation().getLongitude(), user.getLocation().getLatitude());
Какой бы я тогда сохранил возвращаемое значение в базе данных.
Мой файл ПОМ имеет следующие зависимости: конфигурации
<dependency>
<groupId>com.vividsolutions</groupId>
<artifactId>jts</artifactId>
<version>1.13</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-spatial</artifactId>
<version>5.2.4.Final</version>
<exclusions>
<exclusion>
<artifactId>postgresql</artifactId>
<groupId>postgresql</groupId>
</exclusion>
</exclusions>
</dependency>
JPA: определение
jpa:
database: POSTGRESQL
open-in-view: false
show-sql: true
hibernate:
ddl-auto: none
dialect: org.hibernate.spatial.dialect.postgis.PostgisDialect
naming:
naming-strategy: org.springframework.boot.orm.jpa.hibernate.SpringNamingStrategy
Колонка:
@Column(name="point")
private com.vividsolutions.jts.geom.Point point;
Любые идеи, как я могу исправить эту ошибку? Спасибо, ребята, заранее.
Не уверен, если поняли ваш correctyl, но не 'javax.persistence.AttributeConverter', что вы ищете для? – Artegon