mapovani kolekce v hibernate
Tomas Vojtech
tom.vojtech na seznam.cz
Neděle Březen 22 11:22:59 CET 2009
Ahoj,
mam dost zvlastni problem s mapovanim kolekce pres hibernate.
V databazi mam dve tabule user(id:number, username:varchar2,
pass:varchar2) a userpermission(user_id:number, permission:varchar2).
Sloupec userpermission.permission obsahuje kod opravneni. Kdyz bude
potreba v aplikaci zobrazit nazev nebo nejaky popis tak se to vezme
REsource bundlu. Sada opravneni je urcena na zacatku a behem zivota
aplikace je nemenna. Proto nepotrebuju mit v db specialni tabuli
permission.
V aplikaci mam jednu entitu User. Ta ma propertu * private Set<String>
permissions *. Na tenhle set potrebuju namapovat data z
userpermission.permission.
Mapovano to mam nasledovne:
<set name="permissions" table="USERPERMISSION" lazy="false" fetch="join"
inverse="false" cascade="all">
<key column="USER_ID" not-null="true"/>
<element column="PERMISSION" type="string" length="40"
not-null="true"/>
</set>
Problem je v tom, ze ve vysledku je ten set vzdycky prazdny.
Kdyz zkusim save tak to jede v pohode. Kod *
user.getPermissions().add("test_permission"); userDao.save(user); * mi
data ulozi do db spravne. Problem je kdyz potom chci tyhle data cist.
*userDao.load(id)* mi vrati spravnou instanci entity User, ale set
permissions je prazdny sad smiley Co mi na tom prijde divne nejvic je,
ze hibernate dela spravny dotaz do db a spravna data se dostanou i do
user typu, ktery preklapi data z rs na entity. Dopracoval jsem se k
tomu, ze jsem zjistil, ze data co vrati hibernate se strkaji do nejakeho
tempListu v PersistentSet. To se mi ale potom nekde ztrati a ja nemuzu
prijit na to kde a proc sad smiley
Nenapada vas duvod proc se to deje?
diky
Tomas
------------- dal?í ?ást ---------------
HTML p?íloha byla odstran?na...
URL: <http://amaio.cz/pipermail/konference/attachments/20090322/cc297b0e/attachment.htm>
------------- dal?í ?ást ---------------
A non-text attachment was scrubbed...
Name: smilie2.gif
Type: image/gif
Size: 94 bytes
Desc: [?ádný popis není k dispozici]
URL: <http://amaio.cz/pipermail/konference/attachments/20090322/cc297b0e/attachment.gif>
Další informace o konferenci Konference