From my perspective I would like to see Roo offer scaffolded DTO classes (1) and DAOs. I commonly find that DTOs initially have a strong correlation with their domain model relatives. However as the project evolves the DTOs can become quite different. I often find that I end up with a small set of DTOs when compared to the domain model.
DTOs are generally born from the requirements of DAO methods. There's a tendency to create DAO methods that merely implement CRUD. However I think that this is wrong (2). DAO methods should be driven by their service layer requirements and optimise queries to the data store for these use cases.
Having the separation of concerns between the DTOs and domain objects also permits the domain model to evolve independently and vice versa. The "contracts" within organisations (and outside) are also often different for DTOs and the domain model.
Having Roo be able to generate the following would be incredibly useful:
1. a DAO with no methods
2. a non-CRUD-like method of a DAO along with an associated DTO
When specifying a DTO to Roo, one could initially specify the domain model object it relates to.
Finally, DTOs should be composed of domain objects and provide a facade to them i.e. not be them.