I am using Wildfly 10 and developing an application using Spatial Hibernate 5 with PostGIS database. I am getting the below error in runtime.
java.lang.IllegalStateException: Received object of type org.postgresql.util.PGobject
Can anyone suggest some good tutorials as on how to use Spatial Hibernate with Wildfly 10?
I had the same problem and I just fixed it. It is basically a dependency issue. The problem is that you are loading the postgresql and/or postgis jars on your wildfly modules and on you deployments WEB-INF/lib. I connect to my database with a regular DS on my standalone.xml
My drivers
I tried as @Toastor said, it might have solve his issues but it didnt work with me. Although he gave me a few clues.
So most documentation around the internet is outdated, and there is not much on hibernate spatial 5. I added postgis-jdbc to my maven to my postgresql's module.xml inside my wildfly, but as I was reading THIS IS NOT NECESSARY in Hibernate Spatial 5.X. Wildfly 10 uses 5.0.7 by default, I was using hibernate 5.1.0.Final, so I did not set the scope of any hibernate component on my pom.xml as "provided". But everything kept failing too. So I traced my libraries.
You have to check for any postgresql libraries that are called or any postgis libraries. What I found out is that Hibernate Spatial 5.1 has some postgresql dependencies, so I excluded them from hibernate spatial.
I did this and I found a problem with PGobject, it said something like class not found. So I added it to jboss-deployment-structure.xml
And this did the work. If you have a similar problem use maven dependency:tree to trace your libraries.
After struggling for days, I found this solution:
Don't connect to your database through a datasource defined on your wildfly. Instead, in your persistence.xml:
Because the early 5.0.x versions of hibernate apparently had no proper integration of hibernate-spatial and to avoid classpath problems, I added the file jboss-deployment-structure.xml to my META-INF:
This will prevent the wildfly provided hibernate to be used by your deployment so that you can instead add a dependency for the most recent hibernate version (5.1.0 as of this writing). You will then need to add dependencies for hibernate, hibernate-spatial and postgresql-jdbc.
Also note that hibernate 5 doesn't require the @Type annotation anymore.
I have managed to get my project working with the settings above and one of my entities featuring the following attribute / column:
I hope it helps, good luck!
Edit: Using this approach, you need to add your postgresql jdbc driver as a dependency to your project.
Edit:
I have prepared a working sample project demonstrating the use of wf10/hibernate5/postgis - check it out on github:
https://github.com/Pulvertoastmann/wf10postgis/