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

Ánh xạ kiểu nối tiếp PostgreSQL với chú thích Hibernate

Ánh xạ sau sẽ hoạt động tốt:

@Column(name = "orderId")
@Generated(GenerationTime.INSERT)
private Integer orderId;

Tuy nhiên, lưu ý rằng giá trị được tạo cho các đối tượng mới được lưu không có sẵn cho đến khi phiên được xóa.

CHỈNH SỬA: Lưu ý rằng ánh xạ này không ảnh hưởng đến không làm cho Hibernate để tạo một cột loại serial trong quá trình tạo lược đồ, vì Hibernate không biết gì về bản chất của việc tạo giá trị ở phía cơ sở dữ liệu. Do đó, nếu bạn muốn Hibernate tạo một cột có kiểu thích hợp, bạn cần xác định nó một cách rõ ràng:

@Column(name = "orderId", columnDefinition = "serial")
@Generated(GenerationTime.INSERT)
private Integer orderId;

Và trên phiên bản Hibernate gần đây (4.3), bạn có thể sử dụng cái này:

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long orderId;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để gửi một số yêu cầu http từ hàm postgresql hoặc trình kích hoạt

  2. Trong khi thực hiện PITR, liệu có thể Tạm dừng / Tiếp tục trong PostgreSQL không?

  3. Cài đặt Odoo trên Mac Không thể Thực thi Lệnh LESSC

  4. Giá trị NULL của hàm Postgres cho hàng tham chiếu MỚI

  5. Sử dụng đầu ra văn bản từ một hàm làm truy vấn mới