Dekuji vsem za odpovedi. Moje predstava je takova, ze bych v business vrstve obslouzil onu vyjimku DataIntegrityViolationException a na jejim zaklade vyhodil svoji vyjimku (treba ExistingUsernameException). Ale nedari se mi zachytit DataIntegrityViolationException vyjimku v DAO implementaci (bezi to asi ve zvlastnim vlakne a na moje try-catch to nebere ohled). Kde bych mel tuto vyjimku osetrovat? Dale by me zajimalo, jestli by z teto vyjimky nebylo mozne programove zjistit nejake podrobnejsi informace - napriklad, ze se to nepodarilo ulozit skutecne diky existujicimu username, nebo kvuli necemu jinemu (napr. spatne delce hesla atd... ).
S pozdravem, Petr Gola On 6/5/06, Roman Pichlik <[EMAIL PROTECTED]> wrote:
Je potreba si prostudovat, jak funguje springovsky preklad vyjimek http://static.springframework.org/spring/docs/1.2.x/reference/dao.html#dao-exceptions Vami zminovany kod, pravdepodobne vyhodi DataIntegrityViolationException viz http://static.springframework.org/spring/docs/1.2.x/api/org/springframework/dao/DataIntegrityViolationException.html Petr Gola napsal(a): > Zdravim konferenci, > > pracuji na 3-vrstve aplikaci (Java Swing,Spring,Hibernate,PostgreSQL). > Chtel bych se zeptat zkusenejsich, jak resi obsluhu business logiky z > klienta (zpetna vazba, vyjimky). > > Priklad: > > Mam v aplikaci seznam uzivatelu, pricemz kazdy uzivatel ma svoje ID > (primarni klic, generovane automaticky), USERNAME (je jedinecce: > unique="true") a PASSWORD. Business logika ma sluzbu UsersService a > pro pridani noveho uzivatele existuje metoda addUser(String username, > String password). Klient se pripoji na tuto sluzbu a pro pridani > uzivatele vola prave tuto metodu. > > V Hibernate mam definovanou polozku username jako unique="true". Pokud > se klient pokusi pridat uzivatele s jiz existujicim uzivatelsky > jmenem, vyhodi hibernate vyjimku, kterou ale zatim nevim jak odchytit > a zpracovat. Jak resite tento problem? > > Melo by to nejspis byt takhle: na pozadavek klienta se business vrstva > pokusi vytvorit (getHibernateTemplate.save()) uzivatele - pokud se ji > to nepodari, da o tom informaci klientovi... predstavoval jsem si to > jako predani vyjimky, jenze se mi nedari odchytit jiz vyjimku > Hibernate, ze se uzivatele nepodarilo vytvorit, protoze uzivatel s > takovym username jiz existuje. > > Jak pracujete s obsluhou databaze v Spring+Hibernate vy? -- S pozdravem Roman "Dagi" Pichlik /* http://www.sweb.cz/pichlik/ Blog pro kodery */ ______________________________________________________________________ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email ______________________________________________________________________