PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Pertahankan UUID di PostgreSQL menggunakan JPA

Driver PostgreSQL JDBC telah memilih cara yang sayangnya untuk mewakili kode tipe standar non-JDBC. Mereka hanya memetakan semuanya ke Types.OTHER. Singkat cerita, Anda perlu mengaktifkan pemetaan tipe Hibernate khusus untuk menangani pemetaan UUID (ke kolom tipe data uuid khusus postgres):

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

atau lebih ringkasnya:

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

Opsi lain (lebih baik) adalah mendaftarkan org.hibernate.type.PostgresUUIDType sebagai pemetaan tipe Hibernate default untuk semua atribut yang diekspos sebagai java.util.UUID. Itu tercakup dalam dokumentasi @ 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. Apa yang menyebabkan More tidak dikenali... kesalahan saat menjalankan Postgresql 11 pada mesin Windows?

  2. Mengonversi Kumpulan Hasil dari SQL Array ke Array of Strings

  3. Kembalikan nilai kolom pra-PERBARUI menggunakan SQL saja

  4. RPAD() Fungsi di PostgreSQL

  5. Gagal menemukan fungsi konversi dari tidak dikenal ke teks