{"id":1022,"date":"2026-03-22T22:04:24","date_gmt":"2026-03-23T01:04:24","guid":{"rendered":"https:\/\/www.isacaguiar.com.br\/blog\/?p=1022"},"modified":"2026-03-24T22:24:54","modified_gmt":"2026-03-25T01:24:54","slug":"java-record-dto-spring-boot","status":"publish","type":"post","link":"https:\/\/www.isacaguiar.com.br\/blog\/java-record-dto-spring-boot\/","title":{"rendered":"Java Records no DDD com Spring: Simplificando DTO e Model na pr\u00e1tica"},"content":{"rendered":"<p data-start=\"426\" data-end=\"545\">Com a evolu\u00e7\u00e3o do Java, novas formas de modelar dados surgiram para tornar o c\u00f3digo mais <strong data-start=\"515\" data-end=\"544\">simples, seguro e leg\u00edvel<\/strong>.<\/p>\n<p data-start=\"547\" data-end=\"659\">Uma dessas inova\u00e7\u00f5es s\u00e3o os <strong data-start=\"575\" data-end=\"586\">Records<\/strong>, introduzidos oficialmente a partir do <strong data-start=\"626\" data-end=\"637\">Java 16<\/strong> (preview no Java 14).<\/p>\n<p data-start=\"661\" data-end=\"760\">Quando utilizamos <strong data-start=\"679\" data-end=\"704\">DDD com Java e Spring<\/strong>, os Records se encaixam perfeitamente para representar:<\/p>\n<ul data-start=\"762\" data-end=\"809\">\n<li data-section-id=\"1vb90ys\" data-start=\"762\" data-end=\"770\">DTOs<\/li>\n<li data-section-id=\"1q15k1\" data-start=\"771\" data-end=\"809\">Models (camada de dom\u00ednio simples)<\/li>\n<\/ul>\n<p data-start=\"811\" data-end=\"923\">Neste artigo, vamos ver como utilizar <strong data-start=\"849\" data-end=\"893\">Records no lugar de classes tradicionais<\/strong> e quais benef\u00edcios isso traz.<\/p>\n<h2 data-section-id=\"18wkwmn\" data-start=\"930\" data-end=\"957\">\ud83d\udce6 Projeto de refer\u00eancia<\/h2>\n<p data-start=\"959\" data-end=\"997\">Este artigo utiliza o projeto do artigo <a href=\"https:\/\/www.isacaguiar.com.br\/blog\/ddd-java-spring-dto-model-entity\/\">Domain Driven Design com Java e Spring: DTO, Model e Entity na pr\u00e1tica<\/a>:<\/p>\n<p data-start=\"999\" data-end=\"1092\">\ud83d\udc49 <a data-start=\"1002\" data-end=\"1092\" rel=\"noopener\" target=\"_new\" class=\"decorated-link\" href=\"https:\/\/github.com\/isacaguiar\/website-projects\/tree\/main\/ddd-java-spring-dto-model-entitiy\">https:\/\/github.com\/isacaguiar\/website-projects\/tree\/main\/ddd-java-spring-dto-model-entitiy<span aria-hidden=\"true\" class=\"ms-0.5 inline-block align-middle leading-none\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" aria-hidden=\"true\" data-rtl-flip=\"\" class=\"block h-[0.75em] w-[0.75em] stroke-current stroke-[0.75]\"><use href=\"\/cdn\/assets\/sprites-core-cohbnghc.svg#304883\" fill=\"currentColor\"><\/use><\/svg><\/span><\/a><\/p>\n<h2 data-section-id=\"t5tkr9\" data-start=\"1099\" data-end=\"1130\">O que s\u00e3o Records no Java?<\/h2>\n<p data-start=\"1132\" data-end=\"1213\">Records s\u00e3o uma forma concisa de declarar <strong data-start=\"1174\" data-end=\"1212\">classes imut\u00e1veis focadas em dados<\/strong>.<\/p>\n<p data-start=\"1215\" data-end=\"1221\">Antes:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"wp-block-preformatted prism line-numbers lang-bash\" data-lang=\"JAVA\"><code class=\"language-java\">public class ClienteDTO {\r\n\r\n    private String nome;\r\n    private String identificador;\r\n\r\n    public ClienteDTO(String nome, String identificador) {\r\n        this.nome = nome;\r\n        this.identificador = identificador;\r\n    }\r\n\r\n    public String getNome() { return nome; }\r\n    public String getIdentificador() { return identificador; }\r\n}<\/code><\/pre>\n<\/div>\n<p>Com Record:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"wp-block-preformatted prism line-numbers lang-bash\" data-lang=\"JAVA\"><code class=\"language-java\">public record ClienteDTO(String nome, String identificador) {}<\/code><\/pre>\n<\/div>\n<h2 data-section-id=\"1egkeyo\" data-start=\"1663\" data-end=\"1689\">\ud83d\udccc Desde quando existem?<\/h2>\n<ul data-start=\"1691\" data-end=\"1771\">\n<li data-section-id=\"1iewlu1\" data-start=\"1691\" data-end=\"1712\">Java 14 \u2192 preview<\/li>\n<li data-section-id=\"1j1g2w6\" data-start=\"1713\" data-end=\"1734\">Java 16 \u2192 oficial<\/li>\n<li data-section-id=\"aji3c5\" data-start=\"1735\" data-end=\"1771\">Java 21 \u2192 totalmente consolidado<\/li>\n<\/ul>\n<h2 data-section-id=\"fyc472\" data-start=\"1778\" data-end=\"1805\">Uso no DDD com Spring<\/h2>\n<h3 data-section-id=\"dah771\" data-start=\"1807\" data-end=\"1827\">\ud83d\udce6 DTO com Record<\/h3>\n<p data-start=\"1829\" data-end=\"1865\">DTOs s\u00e3o ideais para Records porque:<\/p>\n<p data-start=\"1867\" data-end=\"1953\">\u2714 n\u00e3o possuem regra de neg\u00f3cio<br data-start=\"1897\" data-end=\"1900\" \/>\u2714 s\u00e3o imut\u00e1veis<br data-start=\"1915\" data-end=\"1918\" \/>\u2714 representam transporte de dados<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"wp-block-preformatted prism line-numbers lang-bash\" data-lang=\"JAVA\"><code class=\"language-java\">public record ClienteDTO(String nome, String identificador) {}<\/code><\/pre>\n<\/div>\n<h3>\ud83e\udde0 Model com Record<\/h3>\n<p>Voc\u00ea pode usar Records no dom\u00ednio quando n\u00e3o h\u00e1 comportamento complexo.<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"wp-block-preformatted prism line-numbers lang-bash\" data-lang=\"JAVA\"><code class=\"language-java\">public record Cliente(String nome, String cpf) {}<\/code><\/pre>\n<\/div>\n<p data-start=\"2205\" data-end=\"2216\">\u26a0\ufe0f Aten\u00e7\u00e3o:<\/p>\n<p data-start=\"2218\" data-end=\"2334\">Se o dom\u00ednio tiver l\u00f3gica complexa (regras, valida\u00e7\u00f5es, invariantes),<br data-start=\"2287\" data-end=\"2290\" \/>o ideal ainda \u00e9 usar <strong data-start=\"2311\" data-end=\"2333\">classe tradicional<\/strong>.<\/p>\n<h2 data-section-id=\"12nqsil\" data-start=\"2341\" data-end=\"2366\">\ud83d\udd01 MapStruct com Record<\/h2>\n<p data-start=\"2368\" data-end=\"2410\">MapStruct suporta Records de forma nativa.<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"wp-block-preformatted prism line-numbers lang-bash\" data-lang=\"JAVA\"><code class=\"language-java\">@Mapper(componentModel = \"spring\")\r\npublic interface ClienteMapper {\r\n\r\n    @Mapping(target = \"cpf\", source = \"identificador\")\r\n    Cliente toModel(ClienteDTO dto);\r\n}<\/code><\/pre>\n<\/div>\n<h2>\u00a0\u2694\ufe0f Record vs Classe tradicional<\/h2>\n<table style=\"border-collapse: collapse; width: 100%;\">\n<tbody>\n<tr>\n<th style=\"width: 14.5103%;\">Crit\u00e9rio<\/th>\n<th style=\"width: 21.1608%;\">Record<\/th>\n<th style=\"width: 18.9843%;\">Classe<\/th>\n<\/tr>\n<tr>\n<td style=\"width: 14.5103%;\">C\u00f3digo<\/td>\n<td style=\"width: 21.1608%;\">Menos boilerplate<\/td>\n<td style=\"width: 18.9843%;\">Mais verboso<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 14.5103%;\">Imutabilidade<\/td>\n<td style=\"width: 21.1608%;\">Sim<\/td>\n<td style=\"width: 18.9843%;\">Opcional<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 14.5103%;\">Uso ideal<\/td>\n<td style=\"width: 21.1608%;\">DTO \/ Model simples<\/td>\n<td style=\"width: 18.9843%;\">Dom\u00ednio complexo<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 data-section-id=\"ndu364\" data-start=\"2830\" data-end=\"2857\">\ud83d\ude80 Benef\u00edcios dos Records<\/h2>\n<figure id=\"attachment_1024\" aria-describedby=\"caption-attachment-1024\" style=\"width: 766px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.isacaguiar.com.br\/blog\/wp-content\/uploads\/2026\/03\/beneficios.fw_.png\" alt=\"Benef\u00edcios do Records no Java Spring\" width=\"766\" height=\"641\" class=\" wp-image-1024\" srcset=\"https:\/\/www.isacaguiar.com.br\/blog\/wp-content\/uploads\/2026\/03\/beneficios.fw_.png 1024w, https:\/\/www.isacaguiar.com.br\/blog\/wp-content\/uploads\/2026\/03\/beneficios.fw_-400x335.png 400w, https:\/\/www.isacaguiar.com.br\/blog\/wp-content\/uploads\/2026\/03\/beneficios.fw_-768x644.png 768w\" sizes=\"auto, (max-width: 766px) 100vw, 766px\" \/><figcaption id=\"caption-attachment-1024\" class=\"wp-caption-text\">Benef\u00edcios do Records no Java Spring<\/figcaption><\/figure>\n<h2 data-section-id=\"1bf2fd\" data-start=\"3156\" data-end=\"3183\">\ud83d\udea8 Quando N\u00c3O usar Record<\/h2>\n<figure id=\"attachment_1025\" aria-describedby=\"caption-attachment-1025\" style=\"width: 730px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.isacaguiar.com.br\/blog\/wp-content\/uploads\/2026\/03\/ChatGPT-Image-Mar-22-2026-09_57_43-PM.png\" alt=\"Quando N\u00c3O usar Record\" width=\"730\" height=\"453\" class=\" wp-image-1025\" \/><figcaption id=\"caption-attachment-1025\" class=\"wp-caption-text\">Quando N\u00c3O usar Record<\/figcaption><\/figure>\n<hr data-start=\"3287\" data-end=\"3290\" \/>\n<h2 data-section-id=\"d787em\" data-start=\"3292\" data-end=\"3315\">\ud83d\udcbb Exemplo no projeto<\/h2>\n<p data-start=\"3417\" data-end=\"3510\">\ud83d\udc49 <a data-start=\"3420\" data-end=\"3510\" rel=\"noopener\" target=\"_new\" class=\"decorated-link\" href=\"https:\/\/github.com\/isacaguiar\/website-projects\/tree\/main\/ddd-java-spring-dto-model-entity\">https:\/\/github.com\/isacaguiar\/website-projects\/tree\/main\/ddd-java-spring-dto-model-entitiy<span aria-hidden=\"true\" class=\"ms-0.5 inline-block align-middle leading-none\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" aria-hidden=\"true\" data-rtl-flip=\"\" class=\"block h-[0.75em] w-[0.75em] stroke-current stroke-[0.75]\"><use href=\"\/cdn\/assets\/sprites-core-cohbnghc.svg#304883\" fill=\"currentColor\"><\/use><\/svg><\/span><\/a><\/p>\n<hr data-start=\"3512\" data-end=\"3515\" \/>\n<h2 data-section-id=\"myz7rz\" data-start=\"3517\" data-end=\"3531\">\ud83e\udde0 Conclus\u00e3o<\/h2>\n<p data-start=\"3533\" data-end=\"3662\">Java Records s\u00e3o uma evolu\u00e7\u00e3o importante da linguagem e se encaixam muito bem em arquiteturas modernas com <strong data-start=\"3640\" data-end=\"3661\">DDD e Spring Boot<\/strong>.<\/p>\n<p data-start=\"3664\" data-end=\"3678\">Eles permitem:<\/p>\n<ul data-start=\"3680\" data-end=\"3751\">\n<li data-section-id=\"lf1smy\" data-start=\"3680\" data-end=\"3698\">reduzir c\u00f3digo<\/li>\n<li data-section-id=\"gstyi8\" data-start=\"3699\" data-end=\"3724\">aumentar legibilidade<\/li>\n<li data-section-id=\"1q5km4y\" data-start=\"3725\" data-end=\"3751\">garantir imutabilidade<\/li>\n<\/ul>\n<p data-start=\"3753\" data-end=\"3789\">Sem abrir m\u00e3o da clareza do dom\u00ednio.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Com a evolu\u00e7\u00e3o do Java, novas formas de modelar dados surgiram para tornar o c\u00f3digo mais simples, seguro e leg\u00edvel. Uma dessas\u2026<\/p>\n","protected":false},"author":1,"featured_media":1027,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18,13,289],"tags":[],"class_list":["post-1022","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desenvolvimento-de-software","category-java","category-tecnologia"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>java record dto spring boot<\/title>\n<meta name=\"description\" content=\"Aprenda a usar Java Records com Spring Boot no DDD para DTO e Model. Veja exemplos pr\u00e1ticos e benef\u00edcios da abordagem.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.isacaguiar.com.br\/blog\/java-record-dto-spring-boot\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"java record dto spring boot\" \/>\n<meta property=\"og:description\" content=\"Aprenda a usar Java Records com Spring Boot no DDD para DTO e Model. Veja exemplos pr\u00e1ticos e benef\u00edcios da abordagem.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.isacaguiar.com.br\/blog\/java-record-dto-spring-boot\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog do Aguiar\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/isac.velozo.aguiar\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-23T01:04:24+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-25T01:24:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.isacaguiar.com.br\/blog\/wp-content\/uploads\/2026\/03\/ChatGPT-Image-Mar-22-2026-10_21_04-PM.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1536\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"isacaguiar\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"isacaguiar\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.isacaguiar.com.br\/blog\/java-record-dto-spring-boot\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.isacaguiar.com.br\/blog\/java-record-dto-spring-boot\/\"},\"author\":{\"name\":\"isacaguiar\",\"@id\":\"https:\/\/www.isacaguiar.com.br\/blog\/#\/schema\/person\/78719359439f068d8b1e5e0bcb9d934d\"},\"headline\":\"Java Records no DDD com Spring: Simplificando DTO e Model na pr\u00e1tica\",\"datePublished\":\"2026-03-23T01:04:24+00:00\",\"dateModified\":\"2026-03-25T01:24:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.isacaguiar.com.br\/blog\/java-record-dto-spring-boot\/\"},\"wordCount\":348,\"image\":{\"@id\":\"https:\/\/www.isacaguiar.com.br\/blog\/java-record-dto-spring-boot\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.isacaguiar.com.br\/blog\/wp-content\/uploads\/2026\/03\/ChatGPT-Image-Mar-22-2026-10_21_04-PM.png\",\"articleSection\":[\"Desenvolvimento de Software\",\"Java\",\"Tecnologia\"],\"inLanguage\":\"pt-BR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.isacaguiar.com.br\/blog\/java-record-dto-spring-boot\/\",\"url\":\"https:\/\/www.isacaguiar.com.br\/blog\/java-record-dto-spring-boot\/\",\"name\":\"java record dto spring boot\",\"isPartOf\":{\"@id\":\"https:\/\/www.isacaguiar.com.br\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.isacaguiar.com.br\/blog\/java-record-dto-spring-boot\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.isacaguiar.com.br\/blog\/java-record-dto-spring-boot\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.isacaguiar.com.br\/blog\/wp-content\/uploads\/2026\/03\/ChatGPT-Image-Mar-22-2026-10_21_04-PM.png\",\"datePublished\":\"2026-03-23T01:04:24+00:00\",\"dateModified\":\"2026-03-25T01:24:54+00:00\",\"author\":{\"@id\":\"https:\/\/www.isacaguiar.com.br\/blog\/#\/schema\/person\/78719359439f068d8b1e5e0bcb9d934d\"},\"description\":\"Aprenda a usar Java Records com Spring Boot no DDD para DTO e Model. Veja exemplos pr\u00e1ticos e benef\u00edcios da abordagem.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.isacaguiar.com.br\/blog\/java-record-dto-spring-boot\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.isacaguiar.com.br\/blog\/java-record-dto-spring-boot\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.isacaguiar.com.br\/blog\/java-record-dto-spring-boot\/#primaryimage\",\"url\":\"https:\/\/www.isacaguiar.com.br\/blog\/wp-content\/uploads\/2026\/03\/ChatGPT-Image-Mar-22-2026-10_21_04-PM.png\",\"contentUrl\":\"https:\/\/www.isacaguiar.com.br\/blog\/wp-content\/uploads\/2026\/03\/ChatGPT-Image-Mar-22-2026-10_21_04-PM.png\",\"width\":1536,\"height\":1024,\"caption\":\"Java Records no DDD com Spring: Simplificando DTO e Model na pr\u00e1tica\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.isacaguiar.com.br\/blog\/java-record-dto-spring-boot\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"http:\/\/www.isacaguiar.com.br\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java Records no DDD com Spring: Simplificando DTO e Model na pr\u00e1tica\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.isacaguiar.com.br\/blog\/#website\",\"url\":\"https:\/\/www.isacaguiar.com.br\/blog\/\",\"name\":\"Blog do Aguiar\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.isacaguiar.com.br\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.isacaguiar.com.br\/blog\/#\/schema\/person\/78719359439f068d8b1e5e0bcb9d934d\",\"name\":\"isacaguiar\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/e22bb054d1154f07e6c91b82f0d68a219b6b04b58e5e3692c30cf457b51a9e9f?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/e22bb054d1154f07e6c91b82f0d68a219b6b04b58e5e3692c30cf457b51a9e9f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/e22bb054d1154f07e6c91b82f0d68a219b6b04b58e5e3692c30cf457b51a9e9f?s=96&d=mm&r=g\",\"caption\":\"isacaguiar\"},\"url\":\"https:\/\/www.isacaguiar.com.br\/blog\/author\/isacaguiar\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"java record dto spring boot","description":"Aprenda a usar Java Records com Spring Boot no DDD para DTO e Model. Veja exemplos pr\u00e1ticos e benef\u00edcios da abordagem.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.isacaguiar.com.br\/blog\/java-record-dto-spring-boot\/","og_locale":"pt_BR","og_type":"article","og_title":"java record dto spring boot","og_description":"Aprenda a usar Java Records com Spring Boot no DDD para DTO e Model. Veja exemplos pr\u00e1ticos e benef\u00edcios da abordagem.","og_url":"https:\/\/www.isacaguiar.com.br\/blog\/java-record-dto-spring-boot\/","og_site_name":"Blog do Aguiar","article_publisher":"https:\/\/www.facebook.com\/isac.velozo.aguiar","article_published_time":"2026-03-23T01:04:24+00:00","article_modified_time":"2026-03-25T01:24:54+00:00","og_image":[{"width":1536,"height":1024,"url":"https:\/\/www.isacaguiar.com.br\/blog\/wp-content\/uploads\/2026\/03\/ChatGPT-Image-Mar-22-2026-10_21_04-PM.png","type":"image\/png"}],"author":"isacaguiar","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"isacaguiar","Est. tempo de leitura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.isacaguiar.com.br\/blog\/java-record-dto-spring-boot\/#article","isPartOf":{"@id":"https:\/\/www.isacaguiar.com.br\/blog\/java-record-dto-spring-boot\/"},"author":{"name":"isacaguiar","@id":"https:\/\/www.isacaguiar.com.br\/blog\/#\/schema\/person\/78719359439f068d8b1e5e0bcb9d934d"},"headline":"Java Records no DDD com Spring: Simplificando DTO e Model na pr\u00e1tica","datePublished":"2026-03-23T01:04:24+00:00","dateModified":"2026-03-25T01:24:54+00:00","mainEntityOfPage":{"@id":"https:\/\/www.isacaguiar.com.br\/blog\/java-record-dto-spring-boot\/"},"wordCount":348,"image":{"@id":"https:\/\/www.isacaguiar.com.br\/blog\/java-record-dto-spring-boot\/#primaryimage"},"thumbnailUrl":"https:\/\/www.isacaguiar.com.br\/blog\/wp-content\/uploads\/2026\/03\/ChatGPT-Image-Mar-22-2026-10_21_04-PM.png","articleSection":["Desenvolvimento de Software","Java","Tecnologia"],"inLanguage":"pt-BR"},{"@type":"WebPage","@id":"https:\/\/www.isacaguiar.com.br\/blog\/java-record-dto-spring-boot\/","url":"https:\/\/www.isacaguiar.com.br\/blog\/java-record-dto-spring-boot\/","name":"java record dto spring boot","isPartOf":{"@id":"https:\/\/www.isacaguiar.com.br\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.isacaguiar.com.br\/blog\/java-record-dto-spring-boot\/#primaryimage"},"image":{"@id":"https:\/\/www.isacaguiar.com.br\/blog\/java-record-dto-spring-boot\/#primaryimage"},"thumbnailUrl":"https:\/\/www.isacaguiar.com.br\/blog\/wp-content\/uploads\/2026\/03\/ChatGPT-Image-Mar-22-2026-10_21_04-PM.png","datePublished":"2026-03-23T01:04:24+00:00","dateModified":"2026-03-25T01:24:54+00:00","author":{"@id":"https:\/\/www.isacaguiar.com.br\/blog\/#\/schema\/person\/78719359439f068d8b1e5e0bcb9d934d"},"description":"Aprenda a usar Java Records com Spring Boot no DDD para DTO e Model. Veja exemplos pr\u00e1ticos e benef\u00edcios da abordagem.","breadcrumb":{"@id":"https:\/\/www.isacaguiar.com.br\/blog\/java-record-dto-spring-boot\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.isacaguiar.com.br\/blog\/java-record-dto-spring-boot\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.isacaguiar.com.br\/blog\/java-record-dto-spring-boot\/#primaryimage","url":"https:\/\/www.isacaguiar.com.br\/blog\/wp-content\/uploads\/2026\/03\/ChatGPT-Image-Mar-22-2026-10_21_04-PM.png","contentUrl":"https:\/\/www.isacaguiar.com.br\/blog\/wp-content\/uploads\/2026\/03\/ChatGPT-Image-Mar-22-2026-10_21_04-PM.png","width":1536,"height":1024,"caption":"Java Records no DDD com Spring: Simplificando DTO e Model na pr\u00e1tica"},{"@type":"BreadcrumbList","@id":"https:\/\/www.isacaguiar.com.br\/blog\/java-record-dto-spring-boot\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"http:\/\/www.isacaguiar.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"Java Records no DDD com Spring: Simplificando DTO e Model na pr\u00e1tica"}]},{"@type":"WebSite","@id":"https:\/\/www.isacaguiar.com.br\/blog\/#website","url":"https:\/\/www.isacaguiar.com.br\/blog\/","name":"Blog do Aguiar","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.isacaguiar.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/www.isacaguiar.com.br\/blog\/#\/schema\/person\/78719359439f068d8b1e5e0bcb9d934d","name":"isacaguiar","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/e22bb054d1154f07e6c91b82f0d68a219b6b04b58e5e3692c30cf457b51a9e9f?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/e22bb054d1154f07e6c91b82f0d68a219b6b04b58e5e3692c30cf457b51a9e9f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e22bb054d1154f07e6c91b82f0d68a219b6b04b58e5e3692c30cf457b51a9e9f?s=96&d=mm&r=g","caption":"isacaguiar"},"url":"https:\/\/www.isacaguiar.com.br\/blog\/author\/isacaguiar\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.isacaguiar.com.br\/blog\/wp-json\/wp\/v2\/posts\/1022","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.isacaguiar.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.isacaguiar.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.isacaguiar.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.isacaguiar.com.br\/blog\/wp-json\/wp\/v2\/comments?post=1022"}],"version-history":[{"count":3,"href":"https:\/\/www.isacaguiar.com.br\/blog\/wp-json\/wp\/v2\/posts\/1022\/revisions"}],"predecessor-version":[{"id":1043,"href":"https:\/\/www.isacaguiar.com.br\/blog\/wp-json\/wp\/v2\/posts\/1022\/revisions\/1043"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.isacaguiar.com.br\/blog\/wp-json\/wp\/v2\/media\/1027"}],"wp:attachment":[{"href":"https:\/\/www.isacaguiar.com.br\/blog\/wp-json\/wp\/v2\/media?parent=1022"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.isacaguiar.com.br\/blog\/wp-json\/wp\/v2\/categories?post=1022"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.isacaguiar.com.br\/blog\/wp-json\/wp\/v2\/tags?post=1022"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}