Я использую Spring с Hibernate Spatial 5.0.12 и пытаюсь сохранить объект com.vividsolutions.jts.geom.Geometry
в Oracle базе данных со столбцом SDO_GEOMETRY
но получите это исключение при попытке сохранить его в БД:
ORA-00932: Inconsistent datatypes: expected MDSYS.SDO_GEOMETRY got BINARY
Я не нашел эту проблему нигде и не знаю, как ее решить, поскольку я новичок в спящем режиме.
Это сущность, которую я пытаюсь сохранить:
@Entity
@Table(name = "DETECTED_OBJECTS")
public class DetectedObject {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "DETECTED_SEQ")
@SequenceGenerator(sequenceName = "detected_seq", allocationSize = 1, name = "DETECTED_SEQ"_
private Long id;
private Geometry polygon;
public DetectedObject(){}
public DetectedObject(Coordinate[] coordinates){
this.polygon = new GeometryFactory().createPolygon(coordinates);
}
}
А это моя конфигурация гибернации:
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.Oracle10gDialect
spring.jpa.properties.provider_class = org.hibernate.cache.NoCacheProvider
spring.jpa.hibernate.ddl-auto = update
spring.jpa.properties.hibernate.format-sql = true
И фактическая строка, которая выдает исключение:
detectedObjectRepository.save(detectedObject)