Command objects has validation JSR 303 annotations but model objects may not.

For Create, Update like operations
View --(Command)--> Controller --(Model)--> Service --(Model)--> Repository

For List, Show like Operations
Repository --(Model)--> Service --(Model)--> Controller --(DTO)--> View