sql >> Database >  >> RDS >> PostgreSQL

Hibernate en Postgresql - generatorklasse in hibernate mapping-bestand

Als je wilt om reeksen te gebruiken, moet u zeker een van de sequence . gebruiken of seqhilo als u een hi / lo-algoritme-generator wilt. Het probleem is dat "helemaal niet werkt" helpt helemaal niet om te begrijpen met welk probleem u werd geconfronteerd.

Voor het geval dat, hier is een fragment voor de sequence generator:

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

En voor de 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>

Als je wilt onderzoeken waarom het "helemaal niet werkt", raad ik aan om logging van de gegenereerde SQL om te zien wat er gebeurt.

Merk ook op dat PostgreSQL de identity . ondersteunt generator (zie HB-875 en HHH-1675 ) bij gebruik van SERIAL- of BIGSERIAL-kolommen.

Referenties




  1. hoe wachtwoordzout op te slaan?

  2. mysql:heel eenvoudig SELECT id ORDER BY LIMIT gebruikt INDEX niet zoals verwacht (?!)

  3. Is het beter om een ​​uniqueidentifier (GUID) of een bigint te gebruiken voor een identiteitskolom?

  4. Kolomtypen wijzigen in een enorme tabel