sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur mappar man Postgres _INT8 till Java-enhet med Hibernate?

_int8 är ett internt alias för typen int8[] , dvs en uppsättning långa heltal.

Jag har ingen aning om varför prefixet understreck används, det är hemskt, men det borde egentligen bara synas inuti servern så jag är förvånad över att du ser det dyka upp i meddelanden. Ta detta, till exempel, där servern visar bigint[] som kolumntyp i meddelanden:

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

Om du vill mappa den i Hibernate måste du mappa den som en long[] , om Hibernate ens stöder SQL-matriser - vilket det inte verkar vara . Du måste förmodligen lägga till din egen UserType-implementering som använder JDBC-stöd för SQL-arrayer . Ännu ett exempel på Hibernate-forumen . Det verkar vara lite av en FAQ , men som de flesta saker i Hibernate/JPA kommer du att upptäcka att så fort du försöker använda allt annat än de mest grundläggande databasfunktionerna kommer du att slå huvudet mot en tegelvägg.




  1. Hur man får IP-adressen [MYSQL]

  2. Rails Postgresql flera scheman och samma tabellnamn

  3. Ta bort flera rader genom att markera kryssrutor med PHP

  4. WHERE-sats på SQL Server Textdatatyp