sql >> Databasteknik >  >> RDS >> PostgreSQL

Hibernate och Postgresql - generatorklass i hibernate mappningsfil

Om du vill för att använda sekvenser bör du definitivt använda en av sequence eller seqhilo om du vill ha en hi/lo-algoritmgeneratorer. Problemet är att "inte fungerar alls" hjälper inte alls att förstå vilket problem du stod inför.

För säkerhets skull, här är ett utdrag för sequence generator:

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

Och för 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>

Om du vill undersöka varför det "inte fungerar alls", föreslår jag att du aktiverar loggning av genererad SQL för att se vad som händer.

Observera också att PostgreSQL stöder identity generator (se HB-875 och HHH-1675 ) när du använder SERIAL eller BIGSERIAL kolumner.

Referenser




  1. Deklarera och ställa in variabler i ett urvalsutdrag

  2. Hur man refererar till en kolumn efter ID eller indexnummer

  3. Hur man konverterar postgres dubbel precision till numerisk utan dataförlust/trunkering

  4. Hur man kopierar data från en tabell till en annan i SQL