Performance: DTO vs entity separation benefit
This concept affects the speed of data transfer and rendering by reducing unnecessary data processing and minimizing payload size.
Jump into concepts and practice - no test required
public class UserDTO { private String username; private String email; // getters and setters } // Map UserEntity to UserDTO and return DTO in API response
public class UserEntity { private Long id; private String username; private String password; private String email; private Date createdAt; // getters and setters } // Returning UserEntity directly in API response
| Pattern | Payload Size | JSON Parsing Time | Rendering Delay | Verdict |
|---|---|---|---|---|
| Entity sent directly | Large (includes all fields) | High (more data to parse) | Longer (delays LCP) | [X] Bad |
| DTO sent | Smaller (only needed fields) | Low (less data to parse) | Shorter (faster LCP) | [OK] Good |
record UserDTO(String name) {}
class UserEntity { String name; UserEntity(String name) { this.name = name; } }
UserEntity entity = new UserEntity("Alice");
UserDTO dto = new UserDTO(entity.name);
System.out.println(dto.name());public class UserEntity {
private String name;
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public String toJson() { return "{\"name\":\"" + name + "\"}"; }
}