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