将MDSYS.SDO_几何体列值读入JAVA实体失败,列类型错误

将MDSYS.SDO_几何体列值读入JAVA实体失败,列类型错误,java,oracle,hibernate,geometry,oracle-spatial,Java,Oracle,Hibernate,Geometry,Oracle Spatial,我正在使用hibernate 4.1.12,并试图在JAVA实体中包含Oracle db中的MDSYS.SDO_GEOMETRY列 在pom.xml中,我有: <dependency> <groupId>oracle</groupId> <artifactId>sdoapi</artifactId> <version>11.2.0</version> </dependency>

我正在使用hibernate 4.1.12,并试图在JAVA实体中包含Oracle db中的MDSYS.SDO_GEOMETRY列

在pom.xml中,我有:

<dependency>
    <groupId>oracle</groupId>
    <artifactId>sdoapi</artifactId>
    <version>11.2.0</version>
</dependency>
启动应用程序时,我在验证过程中得到以下信息:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [META-INF/spring/jpa-em-config.xml]: 

Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: mapperPU] Unable to build EntityManagerFactory

Caused by: org.hibernate.HibernateException: Wrong column type in DB_USER1.WORK_AREA for column GEOMETRY.
Found: sdo_geometry, expected: raw(255)

也许这不是将MDSYS.SDO_几何列读取到JAVA实体的正确方法?如何做到这一点?

使用Oracle10gDialogue和以下定义,在我的案例中是有效的

导入com.lividsolutions.jts.geom.Geometry

@Type(type = "org.hibernate.spatial.GeometryType")
@Column(name = "GEOMETRY", columnDefinition = "MDSYS.SDO_GEOMETRY")
public Geometry getGeometry() {
    return this.geometry;
}
@Type(type = "org.hibernate.spatial.GeometryType")
@Column(name = "GEOMETRY", columnDefinition = "MDSYS.SDO_GEOMETRY")
public Geometry getGeometry() {
    return this.geometry;
}