Zdravím Vás!

úplně stejný problém jsme řešili také :-).
Nakonec jsme dospěli k závěru, že téměř všude posíláme celé entity.

Některé atributy u entity nastavujeme až v metodě create.
Např. datum vytvoření entity nebo příznak, že entita je aktivní.
Případně nastavujeme bidirectional vztahy atp.
V takovém případě pouze uvedeme do javadoc, které atributy nastavujeme.

Naopak v některých případech vracíme ke klientovy neúplně vyplněné entity.
Např. když požadujeme seznam příloha, tak nenačítáme binární data.
Opět do javadocu uvedeme, že vracíme neúplné entity a vypíšeme seznam
nenastavených atributů.

V některých případech se samozřejmě hodí neposílat celé entity.
např. metoda, která pouze mění stav určité entity může vypadat následovně.

/**
* Nastavuje stav dokumentu
* @param docId id dokumentu (primarni klic)
* @param state novy stav dokumentu
*/
void updateDocument(int docId, StateEnum state);

DTO má smysl použít, pokud entita neobsahuje požadované atributy.
Např. požadujeme vrátit název firmy s počtem zaměstnanců.

pěkný víkend
fafi

Pavel Savara napsal(a):
> Zdravim konferenci,
>
> Rad bych se zeptal jestli pozivate vase Entity tridy i jako DTO
> objekty? Predokladam ze pro komunikaci mezi DAO vrstvou a Service nebo
> bussiness logic vrstvou to neni problem ale jak mezi service vrstvou a
> action tridou nebo controlerem. Posilate porad entity beany pokud se
> to hodi (create, update) nebo delate klasicke jednoduche DTO s tim co
> je zrovna potreba za data?
>
> Pavel
>   

Odpovedet emailem