POJO - это аббревиатура от Plain Old Java Object, что в переводе значит "обычный объект Java". А DTO - это аббревиатура Data Transfer Object, то есть "объект передачи данных". POJO - это широкий термин, используемый обычно для того, чтобы подчеркнуть отсутствие тесной связи класса с конкретным фреймворком. DTO - более узкое определение из области архитектуры, ограничивающее область применения класса. Как следствие, DTO - это подвид POJO.