Hi,

I am running PostgreSQL 8.2.5-3 and PostGIS 1.3.2-1a from kyngchaos. Since I could not locate a postgis.jar in these distributions, I grabbed the source for PostGIS 1.3.2, and built one.

I am working off of the Hibernate Spatial tutorial at http://www.hibernatespatial.org/tutorial.html. I have switched to org.postgis.DriverWrapper with the JDBC connect string jdbc:postgresql_postGIS://localhost:5432/testdb. I am using postgresql-8.2-508.jdbc3.jar, and I have confirmed that postgis.jar is in my classpath.

I have managed to insert a row into the database, as shown below:

testdb=# select title, astext(loc) from events;
title | astext ----------+--------------
My Event | POINT(10 15)
(1 row)

However, when I try to run a query, I get the following stacktrace:

13:18:49,373  INFO Environment:514 - Hibernate 3.2.5
13:18:49,382  INFO Environment:547 - hibernate.properties not found
13:18:49,384  INFO Environment:681 - Bytecode provider name : cglib
13:18:49,387 INFO Environment:598 - using JDK 1.4 java.sql.Timestamp handling 13:18:49,439 INFO Configuration:1426 - configuring from resource: /hibernate.cfg.xml 13:18:49,439 INFO Configuration:1403 - Configuration resource: /hibernate.cfg.xml 13:18:49,535 INFO Configuration:553 - Reading mappings from resource : org/earthserve/model/Event.hbm.xml 13:18:49,630 INFO HbmBinder:300 - Mapping class: org.earthserve.model.Event -> EVENTS
13:18:49,647  INFO Configuration:1541 - Configured SessionFactory: null
13:18:49,702  INFO HBSpatialExtension:76 - Initializing HBSpatialExtension
13:18:49,706 INFO HBSpatialExtension:95 - Attempting to load Hibernate Spatial Provider org.hibernatespatial.postgis.DialectProvider 13:18:49,721 INFO Dialect:152 - Using dialect: org.hibernatespatial.postgis.PostgisDialect 13:18:49,732 INFO HBSpatialExtension:140 - Hibernate Spatial configured. Using dialect: org.hibernatespatial.postgis.PostgisDialect 13:18:49,739 INFO DriverManagerConnectionProvider:41 - Using Hibernate built-in connection pool (not for production use!) 13:18:49,739 INFO DriverManagerConnectionProvider:42 - Hibernate connection pool size: 1 13:18:49,739 INFO DriverManagerConnectionProvider:45 - autocommit mode: false 13:18:49,746 INFO DriverManagerConnectionProvider:80 - using driver: org.postgis.DriverWrapper at URL: jdbc:postgresql_postGIS://localhost:5432/testdb 13:18:49,748 INFO DriverManagerConnectionProvider:86 - connection properties: {user=postgres, password=****} 13:18:49,834 WARN SettingsFactory:117 - Could not obtain connection metadata org.postgresql.util.PSQLException: Unable to load the class org.postgis.PGbox3d responsible for the datatype box3d at org.postgresql.jdbc2.AbstractJdbc2Connection.initObjectTypes(AbstractJdbc2Connection.java:462) at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:136) at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:30)
   at org.postgresql.jdbc3.Jdbc3Connection.<init>(Jdbc3Connection.java:24)
   at org.postgresql.Driver.makeConnection(Driver.java:369)
   at org.postgresql.Driver.connect(Driver.java:245)
   at org.postgis.DriverWrapper.connect(DriverWrapper.java:155)
   at java.sql.DriverManager.getConnection(DriverManager.java:525)
   at java.sql.DriverManager.getConnection(DriverManager.java:140)
at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:110) at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:84) at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2009) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1292)
   at org.earthserve.model.HibernateUtil.<clinit>(HibernateUtil.java:16)
   at org.earthserve.model.EventManager.find(EventManager.java:98)
   at org.earthserve.model.EventManager.main(EventManager.java:42)
Caused by: java.lang.ClassNotFoundException: org.postgis.PGbox3d
   at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:316)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
   at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374)
   at java.lang.Class.forName0(Native Method)
   at java.lang.Class.forName(Class.java:164)
at org.postgresql.jdbc2.AbstractJdbc2Connection.initObjectTypes(AbstractJdbc2Connection.java:458)
   ... 15 more
13:18:49,846 INFO Dialect:152 - Using dialect: org.hibernatespatial.postgis.PostgisDialect 13:18:49,851 INFO TransactionFactoryFactory:31 - Using default transaction strategy (direct JDBC transactions) 13:18:49,856 INFO TransactionManagerLookupFactory:33 - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended) 13:18:49,856 INFO SettingsFactory:143 - Automatic flush during beforeCompletion(): disabled 13:18:49,857 INFO SettingsFactory:147 - Automatic session close at end of transaction: disabled
13:18:49,858  INFO SettingsFactory:162 - Scrollable result sets: disabled
13:18:49,859  INFO SettingsFactory:170 - JDBC3 getGeneratedKeys(): disabled
13:18:49,859  INFO SettingsFactory:178 - Connection release mode: auto
13:18:49,860  INFO SettingsFactory:205 - Default batch fetch size: 1
13:18:49,860 INFO SettingsFactory:209 - Generate SQL with comments: disabled 13:18:49,860 INFO SettingsFactory:213 - Order SQL updates by primary key: disabled 13:18:49,860 INFO SettingsFactory:217 - Order SQL inserts for batching: disabled 13:18:49,860 INFO SettingsFactory:386 - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory 13:18:49,865 INFO ASTQueryTranslatorFactory:24 - Using ASTQueryTranslatorFactory
13:18:49,865  INFO SettingsFactory:225 - Query language substitutions: {}
13:18:49,866  INFO SettingsFactory:230 - JPA-QL strict compliance: disabled
13:18:49,866  INFO SettingsFactory:235 - Second-level cache: enabled
13:18:49,868  INFO SettingsFactory:239 - Query cache: disabled
13:18:49,868 INFO SettingsFactory:373 - Cache provider: org.hibernate.cache.NoCacheProvider 13:18:49,869 INFO SettingsFactory:254 - Optimize cache for minimal puts: disabled 13:18:49,869 INFO SettingsFactory:263 - Structured second-level cache entries: disabled
13:18:49,873  INFO SettingsFactory:283 - Echoing all SQL to stdout
13:18:49,873  INFO SettingsFactory:290 - Statistics: disabled
13:18:49,874 INFO SettingsFactory:294 - Deleted entity synthetic identifier rollback: disabled
13:18:49,874  INFO SettingsFactory:309 - Default entity-mode: pojo
13:18:49,874  INFO SettingsFactory:313 - Named query checking : enabled
13:18:49,904  INFO SessionFactoryImpl:161 - building session factory
13:18:50,147 INFO SessionFactoryObjectFactory:82 - Not binding factory to JNDI, no JNDI name configured
13:18:50,240  WARN JDBCExceptionReporter:77 - SQL Error: 0, SQLState: 60000
Exception in thread "main" 13:18:50,241 ERROR JDBCExceptionReporter:78 - Unable to load the class org.postgis.PGbox3d responsible for the datatype box3d
org.hibernate.exception.GenericJDBCException: Cannot open connection
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103) at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:29) at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:426) at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144)
   at org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:119)
at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:57) at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1326)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:585)
at org.hibernate.context.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:301)
   at $Proxy0.beginTransaction(Unknown Source)
   at org.earthserve.model.EventManager.find(EventManager.java:99)
   at org.earthserve.model.EventManager.main(EventManager.java:42)
Caused by: org.postgresql.util.PSQLException: Unable to load the class org.postgis.PGbox3d responsible for the datatype box3d at org.postgresql.jdbc2.AbstractJdbc2Connection.initObjectTypes(AbstractJdbc2Connection.java:462) at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:136) at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:30)
   at org.postgresql.jdbc3.Jdbc3Connection.<init>(Jdbc3Connection.java:24)
   at org.postgresql.Driver.makeConnection(Driver.java:369)
   at org.postgresql.Driver.connect(Driver.java:245)
   at org.postgis.DriverWrapper.connect(DriverWrapper.java:155)
   at java.sql.DriverManager.getConnection(DriverManager.java:525)
   at java.sql.DriverManager.getConnection(DriverManager.java:140)
at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:110) at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:423)
   ... 12 more
Caused by: java.lang.ClassNotFoundException: org.postgis.PGbox3d
   at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:316)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
   at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374)
   at java.lang.Class.forName0(Native Method)
   at java.lang.Class.forName(Class.java:164)
at org.postgresql.jdbc2.AbstractJdbc2Connection.initObjectTypes(AbstractJdbc2Connection.java:458)
   ... 22 more

Apparently, the classes in postgis.jar are not available to the jdbc driver.

Any suggestions greatly appreciated.

Thanks!

Greg

--
| E R G O N O S I S
| Greg Ederer
| Lead Developer
| [EMAIL PROTECTED]
| 360.774.6848
|

_______________________________________________
postgis-users mailing list
[email protected]
http://postgis.refractions.net/mailman/listinfo/postgis-users

Reply via email to