Pro GenerationType.SEQUENCE to lze take, aspon na HSQLDB - Hibernate
si sam nacita definovanou sekvenci pri insert. Oracle jsem nezkousel,
ale rekl bych, ze je to stejne.

[STDOUT] Hibernate: call next value for SQ_LSN
[STDOUT] Hibernate: /* insert cz.prins.tiger.db.Lesson */ insert into LESSON ...

2010/10/18 "Zdeněk Troníček" <troni...@fit.cvut.cz>:
> Takhle to funguje pro strategy s hodnotou GenerationType.AUTO. Tj. pokud
> id prideluje framework (Hibernate, EclipseLink,...), lze mu id nadiktovat.
> Pak je jeste nutne upravit hodnoty v tabulce SEQUENCE, protoze jinak mohou
> nasledujici em.persist(...) skoncit chybou "duplicitni hodnota primarniho
> klice".
> Pokud ovsem id prideluje databaze (GenerationType.IDENTITY nebo
> GenerationType.SEQUENCE), tak toto fungovat nebude, protoze sloupec id
> muze byt v databazi deklarovan jako autoincrement a pak si pridelovani
> hodnot ridi sama databaze.
>
> Z.
> --
> Zdenek Tronicek
> FIT CTU in Prague
>
>
> Ondra Medek napsal(a):
>> Ja mam JPA nad Hibernate, a kdyz u entity nastavim setId(...) a pak
>> em.merge(entity), tak se mi ulozi s tim id, co jsem nastavil. Klice se
>> generuji jen pro nove entity. Funguje pro HSQLB a Oracle.
>>
>> 2010/10/18 Oto Buchta <ta...@buchtovi.cz>:
>>> Chci při instalaci nacpat do DB iniciální data a potřebuji, aby
>>> některé záznamy typů s generovanými primárním klíčem měly
>>> předdefinované hodnoty. Nemůžu ale nikde vygůglit jak na to.
>>> Máte někdo nějakou ideu?
>>> Dík.
>>> --
>>> Oto 'tapik' Buchta, ta...@buchtovi.cz, http://tapikuv.blogspot.com
>>>
>>
>>
>>
>> --
>> Ondra Medek
>>
>
>



-- 
Ondra Medek

Odpovedet emailem