PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Utrzymywanie identyfikatora UUID w PostgreSQL przy użyciu JPA

Sterownik PostgreSQL JDBC wybrał niestety sposób na reprezentację kodów typu nie-standardowego JDBC. Po prostu mapują je wszystkie na Typy.INNE. Krótko mówiąc, musisz włączyć specjalne mapowanie typu Hibernate do obsługi mapowań UUID (do kolumn typu danych uuid specyficznego dla Postgres):

@Id
@Column(name = "customer_id")
@org.hibernate.annotations.Type(type="org.hibernate.type.PostgresUUIDType")
private UUID id;

lub bardziej zwięźle:

@Id
@Column(name = "customer_id")
@org.hibernate.annotations.Type(type="pg-uuid")
private UUID id;

Inną (lepszą) opcją jest zarejestrowanie org.hibernate.type.PostgresUUIDType jako domyślnego mapowania typu Hibernate dla wszystkich atrybutów eksponowanych jako java.util.UUID. Jest to opisane w dokumentacji @ http://docs.jboss.org/hibernate/orm/4.1/manual/en-US/html/ch06.html#types-registry



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zmniejszanie parametru postgresql.conf na raz

  2. Zapytanie SQL, aby uzyskać najnowszy wiersz dla każdego wystąpienia danego klucza

  3. Jak przekonwertować typ jsonb PostgreSQL 9.4 na float?

  4. Błąd PostgreSQL „Nie można połączyć się z serwerem:Brak takiego pliku lub katalogu”

  5. Jak uciec przed znakiem zapytania (?) za pomocą Spring JpaRepository?