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
