Sorry about the vague question, please do suggest different formulations. Anyway here is the kernel of the question:
How many classes representing an entity/resource or whatever you want to call it, should you have? Let's take it on the example of User object.
Often I see you have UserEntity used on the repository level to map to DB entity (sometimes autogenerated by your ORM), that maps to service level UserDTO, which then maps to User object to be returned by the API or View layer. This also gets more complicated if you plug in different APIs where some people opt-in to convert to per API object so CRMUser, ShopUser and so on.
All of those have the same (or similar) fields and no functionality. For each mapping, you need a Converter class and depending on your religion Interface.
So it gets quite complex in the end.
Do you have any opinions/guidelines to follow here?