PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Duy trì UUID trong PostgreSQL bằng JPA

Trình điều khiển PostgreSQL JDBC đã chọn một cách không may để đại diện cho các mã loại không chuẩn JDBC. Họ chỉ đơn giản là ánh xạ tất cả chúng thành Type.OTHER. Tóm lại, bạn cần bật một ánh xạ loại Hibernate đặc biệt để xử lý các ánh xạ UUID (tới các cột của loại dữ liệu uuid dành riêng cho postgres):

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

hoặc ngắn gọn hơn:

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

Một tùy chọn khác (tốt hơn) là đăng ký org.hibernate.type.PostgresUUIDType làm ánh xạ kiểu Hibernate mặc định cho tất cả các thuộc tính được hiển thị dưới dạng java.util.UUID. Điều đó được đề cập trong tài liệu @ 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. Truy vấn SQL để lấy hàng gần đây nhất cho mỗi trường hợp của một khóa nhất định

  2. Trả về nhiều trường dưới dạng bản ghi trong PostgreSQL với PL / pgSQL

  3. Đối với người mới bắt đầu, có nhiều sự khác biệt giữa MySQL và PostgreSQL không

  4. Cách thanh lịch nhất để lưu trữ dấu thời gian với nanosec trong postgresql là gì?

  5. PostgreSQL - tìm nạp hàng có giá trị Tối đa cho một cột