sql >> Database >  >> RDS >> PostgreSQL

Ontvangen object van het type org.postgresql.util.PGobject

U moet Postgis, hibernate-spatial en de andere gerelateerde bibliotheken toevoegen aan uw Wildfly voordat u uw toepassing implementeert, dit komt omdat de hibernate die u gebruikt, is gebundeld met de wildfly, maar de andere bibliotheken zijn gebundeld met uw oorlog, dus ze zijn verschillende classloaders gebruiken.

Als je deze code je kunt zien dat de cast correct is, en de foutmelding klopt niet, dit is typisch een probleem met classloaders.

Om dit probleem op te lossen, moet je alle bibliotheken aan je wildfly toevoegen, hiervoor kun je het volgende doen:

cd $JBOSS_PATH/modules/system/layers/base/org/hibernate/main
mvn dependency:copy -Dartifact=org.hibernate:hibernate-spatial:5.0.7.Final:jar -DoutputDirectory=.
mvn dependency:copy -Dartifact=org.geolatte:geolatte-geom:1.0.1:jar -DoutputDirectory=.
mvn dependency:copy -Dartifact=com.vividsolutions:jts:1.13:jar -DoutputDirectory=.

Bewerk de module.xml bestand om je deps toe te voegen:

<resource-root path="hibernate-spatial-5.0.7.Final.jar"/>
<resource-root path="jts-1.13.jar"/>
<resource-root path="geolatte-geom-1.0.1.jar"/>

En voeg in de tag afhankelijkheden toe:

<module name="org.slf4j"/>

Ook als u postgresql gebruikt, moet u de tag afhankelijkheden toevoegen:

<module name="org.postgresql"/>

Gebruik de juiste versie in de mvn commando om de juiste jar te downloaden.



  1. Problemen met CodeIgniter active records bij het aanroepen van meerdere opgeslagen procedures

  2. Postgresql IN-instructie

  3. Een entiteitspecifieke reeks

  4. Opgeslagen Java-procedures in Oracle debuggen