PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Oggetto ricevuto di tipo org.postgresql.util.PGobject

Devi aggiungere Postgis, hibernate-spatial e le altre librerie correlate al tuo Wildfly prima di distribuire la tua applicazione, questo perché l'ibernazione che stai usando è in bundle con wildfly ma le altre librerie sono in bundle con il tuo war, quindi sono utilizzando diversi caricatori di classi.

Se controlli questo codice puoi vedere che il cast è corretto e il messaggio di errore non ha senso, questo è in genere un problema con i classloader.

Per risolvere questo problema devi aggiungere tutte le librerie al tuo wildfly, per farlo puoi fare:

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=.

Modifica il module.xml file per aggiungere i tuoi reparti:

<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"/>

E nel tag delle dipendenze, aggiungi:

<module name="org.slf4j"/>

Inoltre, se stai usando postgresql, devi aggiungere il tag delle dipendenze:

<module name="org.postgresql"/>

Usa la versione corretta in mvn comando per scaricare il jar corretto.