sql >> Databáze >  >> RDS >> PostgreSQL

Jak namapovat Postgres _INT8 na entitu Java pomocí Hibernate?

_int8 je interní alias pro typ int8[] , tj. pole dlouhých celých čísel.

Nemám ponětí, proč se používá předpona podtržítka, je to hrozné, ale mělo by to být viditelné pouze uvnitř serveru, takže mě překvapuje, že to vidíte ve zprávách. Vezměte si to například, když server zobrazuje bigint[] jako typ sloupce ve zprávách:

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

Pokud jej chcete namapovat v režimu spánku, musíte jej namapovat jako long[] , pokud Hibernate dokonce podporuje pole SQL - což se nezdá . Pravděpodobně budete muset přidat vlastní implementaci UserType, která používá podporu JDBC pro pole SQL . Další příklad na fórech Hibernate . Zdá se, že je to trochu časté dotazy , ale jako většina věcí v Hibernate/JPA zjistíte, že jakmile se pokusíte použít cokoli kromě těch nejzákladnějších funkcí databáze, budete mlátit hlavou o cihlovou zeď.




  1. Vrátí datové řádky z bloku pl/sql

  2. Pořadí založené na dvou sloupcích

  3. Zabránění vkládání SQL v ASP.Net

  4. Rozdíl mezi replikací streamu a logickou replikací