PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie ordnet man Postgres _INT8 mit Hibernate einer Java-Entität zu?

_int8 ist ein interner Alias ​​für den Typ int8[] , dh ein Array von langen Ganzzahlen.

Ich habe keine Ahnung, warum das Unterstrich-Präfix verwendet wird, es ist schrecklich, aber es sollte wirklich nur innerhalb des Servers sichtbar sein, also bin ich überrascht, dass Sie es in Nachrichten sehen. Nehmen Sie dies zum Beispiel, wo der Server bigint[] anzeigt als Spalte geben Sie in Nachrichten ein:

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

Wenn Sie es in Hibernate zuordnen möchten, müssen Sie es als long[] zuordnen , wenn Hibernate sogar SQL-Arrays unterstützt - was anscheinend nicht der Fall ist . Wahrscheinlich müssen Sie Ihre eigene UserType-Implementierung hinzufügen, die die JDBC-Unterstützung für SQL-Arrays verwendet . Ein weiteres Beispiel in den Hibernate-Foren . Es scheint eine Art FAQ zu sein , aber wie bei den meisten Dingen in Hibernate/JPA werden Sie feststellen, dass Sie, sobald Sie versuchen, etwas anderes als die grundlegendsten Datenbankfunktionen zu verwenden, Ihren Kopf gegen eine Mauer schlagen werden.