PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Objet reçu de type org.postgresql.util.PGobject

Vous devez ajouter Postgis, hibernate-spatial et les autres bibliothèques associées à votre Wildfly avant de déployer votre application, car l'hibernate que vous utilisez est fourni avec le wildfly mais les autres bibliothèques sont fournies avec votre guerre, donc ils sont en utilisant différents classloaders.

Si vous cochez ce code vous pouvez voir que le cast est correct et que le message d'erreur n'a aucun sens, il s'agit généralement d'un problème avec les classloaders.

Pour résoudre ce problème, vous devez ajouter toutes les bibliothèques à votre wildfly, pour ce faire, vous pouvez le faire :

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

Modifiez le module.xml fichier pour ajouter vos deps :

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

Et dans la balise dependencies, ajoutez :

<module name="org.slf4j"/>

De plus, si vous utilisez postgresql, vous devez ajouter la balise dependencies :

<module name="org.postgresql"/>

Utilisez la version correcte dans le mvn commande pour télécharger le fichier jar correct.