sql >> Database >  >> RDS >> PostgreSQL

Hoe Postgres _INT8 toewijzen aan Java-entiteit met behulp van Hibernate?

_int8 is een interne alias voor het type int8[] , dwz een array van lange gehele getallen.

Ik heb geen idee waarom het onderstrepingsteken wordt gebruikt, het is verschrikkelijk, maar het zou eigenlijk alleen zichtbaar moeten zijn binnen de server, dus het verbaast me dat je het in berichten ziet verschijnen. Neem dit bijvoorbeeld waar de server bigint[] . toont als het kolomtype in berichten:

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

Als u het in Hibernate wilt toewijzen, moet u het toewijzen als een long[] , als Hibernate zelfs SQL-arrays ondersteunt - wat niet lijkt te zijn . U zult waarschijnlijk uw eigen UserType-implementatie moeten toevoegen die de JDBC-ondersteuning voor SQL-arrays gebruikt . Een ander voorbeeld op de Hibernate-forums . Het lijkt een beetje een FAQ te zijn , maar zoals bij de meeste dingen in Hibernate/JPA zul je merken dat zodra je iets anders dan de meest elementaire databasefuncties probeert te gebruiken, je met je hoofd tegen een muur bonkt.




  1. Een Perzische tekst invoegen in mysql-tabel

  2. Een rij kopiëren van de ene SQL Server-tabel naar de andere

  3. Ontwerppatroon voor aangepaste velden in relationele database

  4. Er is iets mis in de UPDATE-query