On Wed, Jun 11, 2008 at 11:33:08AM +0200, Jindrich Vimr wrote:
> Zdravim,
> opravdu potrebujete zalogovat cely strom objektu? Nestacilo by vam 
> zalogovat jen id podrizenych objektu?
> Drzel bych se toho ze toString() by melo vypsat rozumnou reprezentaci 
> stavu objektu samotneho, nikoli "celeho sveta".

Pokud se jedna o tabulku odkazujici do peti ciselniku, je mi klasicky
literalovy toString() celkem k nicemu, ze?
 
> Pokud trvate na vypsani "celeho sveta", zacykleni se jednoduse vyhnete 
> tim ze nebudete vypisovat objekty vsech vazeb, ale jen "vazeb dolu" - 
> napr. objekt faktura bude vypisovat vsechny navazane objekty "polozka", 
> ale objekt "polozka" nebude vypisovat "nadrazeny" objekt faktura.

Pokud ale vazba je M:N, je to tak trosku problem... ;-)
 
> Dale bych se podival na apache commons lang, tridu ToStringBuilder:
> new ToStringBuilder().append(instance_nejakeho_objektu) vypisuje pekne 
> veci i pro kolekce/pole/mapy, takze se vyhnete konstrukcim typu
> if (a instanceof Object[]).....
> if(a instanceof List)....

Ja to resim pretezovanim statickych *toString() metod na jednotlivych entitach.

 
> Jindra
> 
> Oto Buchta wrote:
> >Zdravim,
> >chtel bych se zeptat, co pouzivate na logovani Hibernate Entit.
> >Pokud chci zalogovat jenom literaly, neni co resit.
> >Problem nastava ve chvili, kdy chci logovat objekt vcetne vazeb.
> >Pak se velice rychle dostanu pri implementaci pouheho toString() do 
> >zacykleni.
> >Momentalne pouzivam tri urovne:
> > * toString(), ktery generuje vystup jak z literalu, tak s vazeb.
> >   Vazby prohani metodou flatToStringA()
> > * flatToString() generuje syntakticky stejny vystup jako toString()
> >   a to z literalu a vazeb, ktere jsou N:1 a 1:1. Vazby prohani 
> >   beanToString()
> > * beanToString() generuje syntakticky stejny vystup jako toString()
> >   a to pouze z literalu
> > 
> >Tim mam zarucene necykleni vystupu a rozumne maly graf.
> >
> >Moje otazka zni: existuje nejaky pekny nastroj, ktery umi logovat podobne
> >inteligentne, nebo si mam napsat plugin do IntelliJ/perlovy skript, ktery 
> >mi
> >bude sam generovat tyto tri metody? Teda devet, protoze mame i kolekce, ze,
> >a protoze ve staticke metode mohu udelat test na null logovaneho objektu, 
> >ze.
> >
> >Je mi jasne, ze by to slo resit i pres Reflection, ale tak nejak nemam
> >Reflection moc v lasce a hlavne nevidim presne do Hibernate, abych se tam
> >nedostal do nejakych velkych problemu, takze se mi do toho tak nejak 
> >nechce...
> >
> >Dik, tapik
> >  
> 
> 
> -- 
> Jindrich Vimr
> 
> E-mail: [EMAIL PROTECTED]
> Cell: +420 775 638 011,  Phone: +420 371 124 386 
> ------------------------------------------------
> SoftEU s.r.o.
> Lochotínská 18, 301 00 Plzeň, Czech Republic
> Phone +420 371 124 300,    Fax: +420 373 729 301

Odpovedet emailem