【发布时间】:2018-05-06 14:33:45
【问题描述】:
我将 Spring 与 Hibernate Spatial 5.0.12 一起使用,并尝试使用 @ 将 com.vividsolutions.jts.geom.Geometry 对象持久化到 Oracle 数据库987654322@ 列,但在尝试将其保存到数据库时出现此异常:
ORA-00932: Inconsistent datatypes: expected MDSYS.SDO_GEOMETRY got BINARY
我在其他任何地方都没有发现这个问题,也不知道如何解决它,因为我是 hibernate 新手。
这是我要保存的实体:
@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)
【问题讨论】:
标签: java hibernate spring-data-jpa oracle10g hibernate-spatial