Aha tak se omouvam, pro GenerationType.SEQUENCE to nelze. Hibernate
chybu nenahlasil, ale ulozit entity pod vygenerovanym ID, i kdyz jsem
nastavil ID jine. (Chyba byla v tom, ze jsem v prvnim testu nastavil
ID nahodou stejne, jako prislo od sekvence).

2010/10/18 Ondra Medek <[email protected]>:
> 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" <[email protected]>:
>> 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 <[email protected]>:
>>>> 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, [email protected], http://tapikuv.blogspot.com
>>>>
>>>
>>>
>>>
>>> --
>>> Ondra Medek
>>>
>>
>>
>
>
>
> --
> Ondra Medek
>



-- 
Ondra Medek

Odpovedet emailem