sql >> Database teknologi >  >> RDS >> PostgreSQL

Hibernate og Postgresql - generatorklasse i hibernate mapping-fil

Hvis du vil for at bruge sekvenser, bør du helt sikkert bruge en af ​​sequence eller seqhilo hvis du vil have en hi/lo algoritme generatorer. Problemet er, at "ikke virker overhovedet" hjælper overhovedet ikke med at forstå, hvilket problem du stod over for.

For en sikkerheds skyld er her et uddrag til sequence generator:

<id name="id" type="long" column="person_id">
        <generator class="sequence">
                <param name="sequence">person_id_sequence</param>
        </generator>
</id>

Og for seqhilo generator:

<id name="id" type="long" column="cat_id">
        <generator class="seqhilo">
                <param name="sequence">hi_value</param>
                <param name="max_lo">100</param>
        </generator>
</id>

Hvis du vil undersøge, hvorfor det "slet ikke virker", foreslår jeg at aktivere logning af den genererede SQL for at se, hvad der sker.

Bemærk også, at PostgreSQL understøtter identity generator (se HB-875 og HHH-1675 ) ved brug af SERIE- eller BIGSERIAL-kolonner.

Referencer




  1. Hvordan man optimerer smerteligt langsom MySQL-forespørgsel, der finder korrelationer

  2. I SQL, er det OK for to tabeller at referere til hinanden?

  3. indsæt tidsstempelværdier i trin på 3 minutter

  4. panic:sql:forventet 1 destinationsargumenter i Scan, ikke <number> golang, pq, sql