Is it good practice to take hibernate entities till presentation layer? or Do we need to map all properties of entities to a value object and value object will be used for UI?
Please let me know advantages and disadvantages of both the appoaches.
When should we use what?
what you call DTO are entities in ORMs. They are normally part of a domain model which contains business logic and contain most of the time more data than is needed to render individual views. My personal rule of thumb
Use entities in Views when there is no transfer layer between the DAL and the view and there is little business logic:
Map entities to DTOs when there is a transfer layer and/or the viewdata differs from entities or aggregate many different entities