Korzystam z postgresql, hibernacji-przestrzennej i postgis i oczekuje się, że będę mógł użyć obiektu SqlQuery do pobrania obiektu Geometry.hibernacja-przestrzenna: zapytanie sql w celu pobrania geometrii
Jednak gdy próbuję kwerendy Point, Polygon lub Geometria np
List list = session.createSQLQuery(
"select geomfromewkt('SRID=1;POINT(1 1)')").list();
otrzymuję wyjątek:
Caused by: org.hibernate.MappingException: No Dialect mapping for JDBC type: 1111
at org.hibernate.dialect.TypeNames.get(TypeNames.java:78)
at org.hibernate.dialect.TypeNames.get(TypeNames.java:103)
at org.hibernate.dialect.Dialect.getHibernateTypeName(Dialect.java:328)
at org.hibernate.loader.custom.CustomLoader$Metadata.getHibernateType(CustomLoader.java:590)
at org.hibernate.loader.custom.CustomLoader$ScalarResultColumnProcessor.performDiscovery(CustomLoader.java:516)
at org.hibernate.loader.custom.CustomLoader.autoDiscoverTypes(CustomLoader.java:532)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1962)
at org.hibernate.loader.Loader.doQuery(Loader.java:802)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:274)
at org.hibernate.loader.Loader.doList(Loader.java:2533)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2276)
at org.hibernate.loader.Loader.list(Loader.java:2271)
at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:316)
at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1842)
at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:165)
at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:157)
hibernate.cfg.xml:
<property name="dialect">org.hibernatespatial.postgis.PostgisDialect</property>
Czy to nie jest częścią oferty hibernate-przestrzennej, czy robię coś nie tak?
Dzięki, Paul.
Odpowiednie biblioteki/wersja:
- hibernacji rdzeń-3.6.0.Final.jar
- postgresql-9.0-801.jdbc4.jar
- hibernacji-przestrzenno-postgis-1.1.1 JAR
- hibernacji-przestrzenno-1.1.1.jar
- postgis-JDBC 1.3.3.jar
- WST-1.12.jar
Czy baza danych DB jest włączona i ma odpowiednie uprawnienia? Od klienta spróbuj 'select * from geometry_columns' –
Tak, DB jest w porządku. Mogę pobrać geometrię przez hibernację, jeśli używam odwzorowanych klas i zapytań typu natywnego sql (kryteria/hsql). – pstanton
Jestem pewien, że muszę zastosować "org.hibernatespatial.GeometryUserType" do kolumny jakoś ... – pstanton