Objektove databaze
Dobry den, jake mate zkusenosti s objektovymi databazemi? Chtel bych si udelat nejaky prehled, ktere pouzivate pri nasazeni? Zaujala mne db4o a take komercni Caché, mate ale zkusenosti i s necim jinym? Jak se v objektovych databazich resi upgrade struktur (napriklad kdyz pridam, prejmenuji nebo odeberu atribut u tridy)? -- Lukas Zapletal http://lukas.zapletalovi.com
Re: Objektove databaze
db4o programovani jednoduche - zadne mapy, zadne specialni programovani. Na co jsem narazil asi pred rokem a co znamenalo stopku jsou upravy atributu vlastnosti objektu a uz se databaze nedala precist. Nevim jak je na tom ted, ale asi lepe. cache programovani trochu slozitejsi (byla presentovana na CZ JUG) - bud se ridi anotacemi (jedna technologie) a nebo je programovani podobne jako u "hibernate". Jako u hibernate asi tak ze mate session a muzete pracovat s namapovanymi objekty (pomoci studia), ktere se nemapuji pres XML ale pres udelatko. pak jsem narazil jeste na objective db Lukas Zapletal píše v Út 16. 10. 2007 v 14:34 +0200: > Dobry den, > > jake mate zkusenosti s objektovymi databazemi? Chtel bych si udelat > nejaky prehled, ktere pouzivate pri nasazeni? Zaujala mne db4o a take > komercni Caché, mate ale zkusenosti i s necim jinym? > > Jak se v objektovych databazich resi upgrade struktur (napriklad kdyz > pridam, prejmenuji nebo odeberu atribut u tridy)? >
Re: Objektove databaze
diky za nazor, k tomu upravovani - v dokumentaci k db4o se hovori o tom, ze si musite objekty prevest, pokud zmenite strukturu. pokud jen pridate nebo smazete, provede se to automaticky. 18.10.07, Karel Tejnora <[EMAIL PROTECTED]>: > > db4o > programovani jednoduche - zadne mapy, zadne specialni programovani. Na > co jsem narazil asi pred rokem a co znamenalo stopku jsou upravy > atributu vlastnosti objektu a uz se databaze nedala precist. Nevim jak > je na tom ted, ale asi lepe. > > cache > programovani trochu slozitejsi (byla presentovana na CZ JUG) - bud se > ridi anotacemi (jedna technologie) a nebo je programovani podobne jako u > "hibernate". Jako u hibernate asi tak ze mate session a muzete pracovat > s namapovanymi objekty (pomoci studia), ktere se nemapuji pres XML ale > pres udelatko. > > pak jsem narazil jeste na objective db > > > Lukas Zapletal píše v Út 16. 10. 2007 v 14:34 +0200: > > Dobry den, > > > > jake mate zkusenosti s objektovymi databazemi? Chtel bych si udelat > > nejaky prehled, ktere pouzivate pri nasazeni? Zaujala mne db4o a take > > komercni Caché, mate ale zkusenosti i s necim jinym? > > > > Jak se v objektovych databazich resi upgrade struktur (napriklad kdyz > > pridam, prejmenuji nebo odeberu atribut u tridy)? > > > > -- Lukas Zapletal http://lukas.zapletalovi.com
Re: Objektove databaze
Dne Thursday 18 of October 2007 22:57:07 Karel Tejnora napsal(a): > db4o > programovani jednoduche - zadne mapy, zadne specialni programovani. Na > co jsem narazil asi pred rokem a co znamenalo stopku jsou upravy > atributu vlastnosti objektu a uz se databaze nedala precist. Nevim jak > je na tom ted, ale asi lepe. Tohle resi zapis verze objektu, pak se daji data upgradovat. Mne ale vice rozciluje spousta veci, ktere si musite dodelat sam. Anotace pro ID zaznamu (protoze jinak budete tezko dohledavat editovany objekt ve webaplikaci). Annotace pro Lazy - na Db4o se to menuje deap activation a da se nastavovat pro kazdy parametr tridy v configu, ale logictejsi je pouziti annotace. Annotaci pro UniqueConstraint. Zase exstije zpusobm jak to udelat, ale musite to nastavovat v configu, jako anotace u tridy to neni. Nicmene ani tak neudelate unikatni slozeninu vice policek (musite si to naprogramovat sam). A pro jedine policko to funguje jenom v pripade ze se jedna o primitivni typ, nebo typ, ktery je defaultne v JDK, vas vlastni typ to nesezere, a je jedno, jeslti mate hashCode, equals a toString predefinovane. No a pak je tu oproti Hibernate trochu magie ohledne editace objektu. V hibernate pokud mate ID stejne, jedna se o stejny objekt, takze pri save se updatuje. V db4o se na ID objektu neohlizi, takze musite objekt nacist a u neho zmenit udaje. Coz je u webovek trochu slozitejsi. Jinak save funguje na objekt s jeho "primitivnima" promenyma a promenyma, ktere maji "obycejny" typ (String, Date atp.), ale kolekce a vlastni typy je potreba ukladat samostatne. Tedy jakoukoli kolekci je pri zmene potreba explicitne ulozit. No a pokud v objektu ktery ste nacetl zmenite parametr tak ze do neho setnete nejaky novy objekt, pak je taky nad tim potreba vyvolat explicitne metodu set: Tohle funguje super: member = new Member member.setAddresa(novaAddresa); objectContainer.set(member); Tohle ale nefunguje, protoze Member si porad pamatuje odkaz na starou adresu member = dao.getMember(); // tim vratim existujiciho membera z databaze member.setAddressa(novaAddressa); objectContainer.set(member); Je nutne vyvolat: objectContainer.set(member.getAddressa()); jinak se data z adresy neulozi, nebo je poteba prepisovat jiz existujici objekt, coz je docela opruz. Takze idealni je udelat annotaci, ktera vsechny problematicke parametry automaticky uklada. Ale jinak sem na dalsi problemy nanarazil. -- Lukas Benda signature.asc Description: This is a digitally signed message part.