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):


Odpovedet emailem