org.hibernate. MappingException: Никакой Диалект, отображающийся для типа JDBC: 2002

Я добираюсь org.hibernate.MappingException: No Dialect mapping for JDBC type: 2002 когда я пытаюсь сделать JPA nativeQuery для получения типа поля геометрии.

Я использую Oracle и org.hibernatespatial.oracle.OracleSpatial10gDialect.

Поле геометрии отображается как:

@Column(name="geometry")  
@Type(type = "org.hibernatespatial.GeometryUserType")  
private Geometry geometry;

// ...

List<Object> listFeatures = new LinkedList<Object>();

Query query = entityManager.createNativeQuery(
   "SELECT "+ slots +" , geometry FROM  edtem_features feature, edtem_dades dada WHERE" +
   " feature."+ tematic.getIdGeomField() +" = dada."+ tematic.getIdDataField()+ 
   " AND dada.capesid= "+ tematic.getCapa().getId() +
   " AND feature.geometriesid= "+ tematic.getGeometria().getId());
listFeatures.addAll(query.getResultList());

Это - мой быть в спящем режиме конфигурация по spring+struts2

<bean id="entityManagerFactory"
            class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    <property name="dataSource" ref="dataSource" />

    <property name="jpaVendorAdapter">
        <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
            <property name="databasePlatform" value="org.hibernatespatial.oracle.OracleSpatial10gDialect" />
            <property name="showSql" value="true" />
        </bean>
    </property>
    <property name="jpaProperties">
        <props>
            <prop key="hibernate.dialect">org.hibernatespatial.oracle.OracleSpatial10gDialect</prop>
            <prop key="hibernate.default_schema">my_schema</prop>
        </props>
    </property>
</bean>

Как это может быть решено? Или как вынудить тип геометрии получить эту работу?

5
задан Kenny Linsky 26 March 2013 в 20:44
поделиться

3 ответа

Проблема не в вашем запросе или отображении, а в вашей конфигурации Hibernate. Вы обнаружите, что указываете неправильную строку для имени используемого диалекта SQL. Предлагаем вам опубликовать файл конфигурации Hibernate, который вы используете.

3
ответ дан 14 December 2019 в 08:42
поделиться

Не могли бы вы попробовать следующее определение отображения:

@Column(name = "geometry", columnDefinition="Geometry", nullable = true) 
private Geometry geometry;

Вместо:

@Column(name="geometry")  
@Type(type = "org.hibernatespatial.GeometryUserType")  
private Geometry geometry;
4
ответ дан 14 December 2019 в 08:42
поделиться

Спасибо за ответы,

Я решил проблему с помощью namedQuery, извлекающего весь объект со всеми полями, с его типом geometry.

Большое спасибо

0
ответ дан 14 December 2019 в 08:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: