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

Hibernate có nên sử dụng các chuỗi duy nhất cho mỗi bảng không?

Gần đây tôi đã giải quyết vấn đề này cho dự án của mình. Tôi sử dụng trình tạo trình tự nâng cao (là trình tạo mặc định cho trình tạo kiểu trình tự) và đặt prefer_sequence_per_entity tham số thành true .

Nội dung của package-info.java của tôi :

@GenericGenerator(
    name = "optimized-sequence",
    strategy = "enhanced-sequence",
    parameters = {
        @Parameter(name="prefer_sequence_per_entity", value="true"),
        @Parameter(name="optimizer", value="hilo"),
        @Parameter(name="increment_size", value="50")})
package org.example.model;

import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Parameter;

Về mặt sử dụng, bạn chỉ cần

@Id @GeneratedValue(generator="optimized-sequence")
public long id;

Tôi thích có các chuỗi riêng biệt vì thỉnh thoảng tôi sẽ thả một bảng và tạo lại nó, và tôi muốn ID bắt đầu từ một.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thay đổi giá trị bắt đầu của một chuỗi - Postgresql

  2. Điều kiện ở đâu cho bảng đã tham gia trong ORM theo thứ tự

  3. Vòng trong truy vấn chọn lọc

  4. PostgreSQL Upsert (Khi Xung đột) với cùng các giá trị trong Chèn và Cập nhật

  5. Làm cách nào tôi có thể đạt được hành vi đối chiếu Postgres trong Linux giống như trong Mac OS?