Objektove databaze

2007-10-16 Thread Lukas Zapletal
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

2007-10-18 Thread Karel Tejnora

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

2007-10-19 Thread Lukas Zapletal
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

2007-10-19 Thread Lukas Benda
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.