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

Comment mapper Postgres _INT8 à l'entité Java à l'aide d'Hibernate ?

_int8 est un alias interne pour le type int8[] , c'est-à-dire un tableau d'entiers longs.

Je n'ai aucune idée de la raison pour laquelle le préfixe de soulignement est utilisé, c'est horrible, mais il ne devrait vraiment être visible qu'à l'intérieur du serveur, donc je suis surpris que vous le voyiez apparaître dans les messages. Prenez ceci, par exemple, où le serveur affiche bigint[] comme type de colonne dans les messages :

http://sqlfiddle.com/#!12/61bc5/1

Si vous voulez le mapper dans Hibernate, vous devez le mapper en tant que long[] , si Hibernate prend même en charge les tableaux SQL - ce qui ne semble pas le cas . Vous devrez probablement ajouter votre propre implémentation UserType qui utilise le support JDBC pour les tableaux SQL . Un autre exemple sur les forums Hibernate . Il semble être un peu une FAQ , mais comme la plupart des choses dans Hibernate/JPA, vous constaterez que dès que vous essayez d'utiliser autre chose que les fonctionnalités de base de données les plus élémentaires, vous vous cognez la tête contre un mur de briques.