Basic points to consider while designing Model and DTO,
Represents a database table (JPA @Entity).
Should only exist in the persistence/data layer.
Example: User, Enterprise
Used to transfer data between layers or as a response payload.
Exists in the API/controller layer.
Example: UserDto, EnterpriseDto, UserReadModel, etc.
Does the business logic and talks to repositories.
Should ideally work with Entities/Models and maybe some internal DTOs.
Should not know about UserReadModel or PostalCodeLocationModel if they are meant only for the controller.