PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Czy hibernacja powinna używać unikalnych sekwencji dla każdej tabeli?

Niedawno rozwiązałem ten problem w moim projekcie. Używam ulepszonego generatora sekwencji (który jest domyślny dla generatorów w stylu sekwencji) i ustawiam prefer_sequence_per_entity parametr na true .

Zawartość mojego pliku 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;

Po stronie użytkowania potrzebujesz tylko

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

Wolę mieć oddzielne sekwencje, ponieważ od czasu do czasu upuszczam tabelę i odtwarzam ją, i chcę, aby identyfikator zaczynał się od jednej.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL i blokowanie

  2. Przesuwane okno sql - znajdowanie maksymalnej wartości w przedziale

  3. Jak i dlaczego dodać klucze podstawowe do mojej tabeli bazy danych SQL, gdy mam już indeks?

  4. Postgresql regexp_matches wewnątrz widoku zawsze zwraca null przy zapytaniu z PHP

  5. Jak podłączyć aplikację C# Windows mobile 6.5 do bazy danych Postgres?