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

Penggunaan hibernasi urutan PostgreSQL tidak memengaruhi tabel urutan

Saya memiliki masalah yang sama. Ini terkait dengan strategi pengalokasian id dari Hibernate. Saat Anda memilih GenerationType.SEQUENCE , Hibernate menggunakan strategi HiLo yang mengalokasikan ID dalam blok 50 secara default. Jadi Anda dapat secara eksplisit mengatur allocationSize nilai seperti ini:

@Id 
@SequenceGenerator(name="pk_sequence",sequenceName="entity_id_seq", allocationSize=1)
@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="pk_sequence")
@Column(name="id", unique=true, nullable=false)
public int getId() {
    return this.id;
}

Padahal, saya juga mendengar pendapat bahwa menggunakan strategi HiLo dengan allocationSize=1 bukanlah praktik yang baik. Beberapa orang menyarankan untuk menggunakan GenerationType.AUTO sebagai gantinya ketika Anda harus berurusan dengan urutan yang dikelola basis data

Pembaruan: Saya akhirnya menggunakan alokasiSize=1, dan hal-hal tampaknya berfungsi seperti yang saya harapkan sekarang. Aplikasi saya sedemikian rupa sehingga saya tidak terlalu membutuhkan blok ID, jadi YMMV.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara memindahkan aplikasi Rails yang ada ke heroku? (sqlite ke postgres)

  2. Kurangi Tahun dari Tanggal di PostgreSQL

  3. Batasan Unik dengan kondisi di MYSQL

  4. Perbaikan Partisi di PostgreSQL 11

  5. hapus kolom tidak ada