1

私は現在、同僚と協力して、Hibernate 4 を使用するために Java アプリケーションを転送する作業を行っています。その作業の一環として、Ocracle ジオメトリ データを Java アプリケーションにロードできるようにする必要があります。ただし、ジオメトリを読み込もうとすると、Hibernate Spatial から UnsupportedOperationException が発生します。具体的には次のエラーです。

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

これは、ジオメトリを保持する変数の列定義です。

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

私は休止状態のクエリを調べましたが、すべて問題ないようです。Hibernate 4.2.2、Hibernate Spatial 4.0-M1、および JTS 1.8 を使用しています。データベースは Oracle 11g です。

前もって感謝します。

4

1 に答える 1

2

答えを導き出しました。この問題は、Hibernate のダイアレットの構成が原因です。使用すべき方言は次のとおりです。

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

これよりも:

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

そのエラーメッセージは完全には明確ではありませんが、これでこの問題を抱えている他の人が解決することを願っています.

于 2013-10-08T16:36:48.703 に答える