PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Трябва ли хибернацията да използва уникални последователности за всяка таблица?

Наскоро реших този проблем за моя проект. Използвам подобрен генератор на последователност (който е по подразбиране за генератори в стил последователност) и задавам prefer_sequence_per_entity параметър на true .

Съдържание на моя package-info.java :

@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;

От страна на употребата, от която се нуждаете

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

Предпочитам да имам отделни последователности, защото от време на време ще изпусна таблица и ще я създам отново и искам идентификаторите да започват от една.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PSQLException:текущата транзакция е прекратена, командите се игнорират до края на блока на транзакцията

  2. wal_keep_segments защо минимум, а не максимум?

  3. Избиране на записи между два времеви клейма

  4. Граници на производителност на решенията за логическа репликация

  5. Грешка Невалиден синтаксис на въвеждане за цяло число за не-цяло число?