No a toto je ta chyba, typ generatoru assigned znamena, ze klic
nastavujete vy (napr chcete sloupec uzivatelske jmeno zaroven jako
primarni klic). Pokud chcete generovane id, tak jednou z moznosti je
prave zminovany typ identity, ktery v zavislosti na db pouzije sekvenci,
nebo identity column, nebo... Jaroslav Hurdes
Adámek Lukáš napsal(a):
Cast mapovaciho XML vypada takto:
<id name="userPxid" type="int">
<column name="user_pxid" />
<generator class="assigned" />
</id>
Jen podotykam, ze takto mi to vygenerovali Hibernate-tools a jako
zacatecnik jsem nemel duvod neverit.
l.
------------------------------------------------------------------------
*From:* [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
*On Behalf Of *Ján Valkovič
*Sent:* Monday, September 24, 2007 9:24 AM
*To:* Java
*Subject:* Re: Hibernate zacatecnik - vraceni vygenerovaneho prim. klice
Zdravim,
ako mate nastaveny stlpec 'id'? je to nieco taketo?
<id name="id" type="int">
<column name="ID" />
<generator class="*identity*" />
</id>
ya
Lukas Adamek | Fayn Telecommunications s.r.o. wrote / napísal(a):
Mockrat diky za radu, ale zrejme porad něco delam spatne:
Serializable id = session.*save*(myObject);
session.*flush*();
*return* (Integer)id;
i
myObject = (MyObject)session.*merge*(myObject);
session.*flush*();
*return* myObject.*getId*();
stále vraci 0;
l.
------------------------------------------------------------------------
*From:* [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
[mailto:[EMAIL PROTECTED] *On Behalf Of *Michal Palička
*Sent:* Sunday, September 23, 2007 10:33 PM
*To:* Java
*Subject:* RE: Hibernate zacatecnik - vraceni vygenerovaneho prim. klice
Dobry den,
metoda „save“ vraci nove vygenerovany primarni klic. Staci tedy pouzit:
Serializable id = session.save(myObject);
Obsah objektu, ktery je metode predavan jako parametr, se nemeni.
Novy stav si musite nacist sam.
Urcite reseni prinasi metoda „merge“, ktera vraci objekt, jenz
obsahuje novy stav (po ulozeni):
Object myObject = session.merge(myObject);
mp.
*From:* [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
[mailto:[EMAIL PROTECTED] *On Behalf Of *Lukas Adamek | Fayn
Telecommunications s.r.o.
*Sent:* Sunday, September 23, 2007 21:48 PM
*To:* [email protected] <mailto:[email protected]>
*Subject:* Hibernate zacatecnik - vraceni vygenerovaneho prim. klice
Ahoj
Zacinam s Hibernate a mam dotaz.
V DB(MySQL5) mam pro ukladani novych zaznamu na primarni klic
definovan auto-increment.
Chci do DB ulozit novy object a hned po ulozeni si vzit prave ten
vygenerovany primarni klic.
V entite je primarni klic typu int.
Entitu ukladam nasledovne:
session.*save*(myObject);
session.*flush*();
myObject.*getUserPxid*();
Problem je, ze mi entita i po ulozeni jako primarni klic stale vraci ‘0’;
Muzete me alespon nakopnout, kde je problem?
Diky Lukas Adame):