2013-10-01 2 views
1

В настоящее время я работаю с коллегой по передаче приложения Java для использования Hibernate 4. В рамках этой работы мы должны иметь возможность загружать данные геометрии Ocracle в Java заявление. Однако, когда мы пытаемся загрузить геометрию, мы получаем UnsupportedOperationException из гибернации Spatial, specifcally эта ошибка:Hibernate Spatial - Throws UnsupportedOperationException пытается загрузить геометрию Oracle

Caused by: java.lang.UnsupportedOperationException 
at org.hibernate.spatial.GeometrySqlTypeDescriptor.getExtractor(GeometrySqlTypeDescriptor.java:57) 

Это определение столбца переменной держит геометрию:

@Type(type="org.hibernate.spatial.GeometryType") private Geometry ordinates; 

Я ve рассмотрел запрос на спящий режим, и все кажется прекрасным с этим. Мы используем Hibernate 4.2.2, Hibernate Spatial 4.0-M1 и JTS 1.8. База данных - это Oracle 11g.

Заранее спасибо.

ответ

2

Я разработал ответ. Проблема связана с конфигурацией набора для Hibernate. Диалект, который должен быть использован такой:

config = config.setProperty(Environment.DIALECT, "org.hibernate.spatial.dialect.oracle.OracleSpatial10gDialect") 

Вместо этого:

config = config.setProperty(Environment.DIALECT, "org.hibernate.dialect.Oracle10gDialect") 

сообщения об ошибке не совсем ясно, что один, но это будет, мы надеемся решить кто-нибудь еще с этой проблемой.

+0

И если вы используете MySQL, диалект, который вы хотите, это '" org.hibernate.spatial.dialect.mysql.MySQLSpatialDialect ". – aroth