Jozef Babjak napsal(a):
 Nedokážu si vysvětlit jakým způsobem může fungovat násedující chování aplikace:

[...]

 Dokážu si představit nějaké POJO objekty mapované do databázové tabulky přes 
xml.

  ^-- Kazdy problem v IT je mozne riesit pridanim dalsej vrstvy
indirektnosti. Ako uz bolo naznacene, je pravdepodobne, ze tam, kde vy
*predpokladate* POJO objekty, je zjavne nejaka "nie bezna" vrstva
indirektnosti.

No a nebo se to dá řesit bez složité teorie po selsku,
bez vrstev indirekce a mapováni tříd přes XML :-)
Prostě v databázi zavedu tři tabulky

VYROBEK (id PRIMARY KEY, ...)
VLASTNOSTI_VYROBKU (id PRIMARY KEY,
                    vyrobek_id FOREIGN KEY REFERENCES VYROBEK(id),
                    nazev_vlastnosti,
                    typ_vlastnosti
                    )
HODNOTY_VLASTNOSTI (vv_id FOREIGN KEY REFERENCES VLASTNOSTI_VYROBKU(id),
                    hodnota_vlastnosti)

a při definici nových vlastností přidávám řádky do VLASTNOSTI_VYROBKU
a při plnění hodnot přidávám řádky do HODNOTY_VLASTNOSTI.

Při zobrazení výrobku pak tahám dotazem

SELECT * FROM VYROBEK v, VLASTNOSTI_VYROBKU vv, HODNOTY_VLASTNOSTI hv
WHERE v.id=vv.vyrobek_id and hv.vv_id=vv.id

a výsledná data si dávám do List<AtributVyrobku> kde

class AtributVyrobku {
 String nazevVlastnosti;
 TypVlastnosti typVlastnosti;
 String hodnotaVlastnosti;
  ...
}

Pro texty a textarey to stačí samo o sobě, pro radiobuttony, checkboxy
a selectionlisty je potřeba ještě jedna tabulka a třída pro držení
alternativních hodnot.


Makub
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Supercomputing Center Brno             Martin Kuba
Institute of Computer Science    email: [EMAIL PROTECTED]
Masaryk University             http://www.ics.muni.cz/~makub/
Botanicka 68a, 60200 Brno, CZ     mobil: +420-603-533775
--------------------------------------------------------------

Odpovedet emailem