Data Transfer Object (DTO) je jedním z návrhových vzorů používaných k přenosu dat mezi aplikačními subsystémy.
Objekt přenosu dat by na rozdíl od obchodního objektu nebo objektu pro přístup k datům neměl obsahovat žádné chování.
V Enterprise JavaBeans se pro serializaci používá DTO .
Entity beans představují objekty, které jsou umístěny v trvalém úložišti, jako je databáze . Na jednu stranu je to velmi pohodlné, protože klientský program se nemusí starat o přímé připojení k databázi. Na druhou stranu každá změna entity bean může volat metody vzdáleného přístupu, což zvyšuje zatížení sítě a snižuje rychlost programu. Sun Java Center doporučilo vyřešit tento problém izolováním všech dat do samostatného objektu a předáním tohoto objektu entity bean jednou metodou.
V EJB 3.0 byl model zadávání dat změněn, tento problém byl vyřešen a potřeba DTO byla odstraněna.
Nezaměňujte DTO s Value Object – to jsou různé vzory. Zmatek pramení ze skutečnosti, že raná literatura J2EE používala k popisu DTO termín „Value Object“, ale ten byl později nahrazen termínem „Transfer Object“.