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