{"id":1549,"date":"2014-10-20T10:00:00","date_gmt":"2014-10-20T08:00:00","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=1549"},"modified":"2023-06-28T01:33:49","modified_gmt":"2023-06-28T08:33:49","slug":"couchbase-jpa-level-2-cache-0","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-jpa-level-2-cache-0\/","title":{"rendered":"JPA do Couchbase usando Hibernate e Eclipselink"},"content":{"rendered":"<p class=\"p1\">Como o Couchbase continua a crescer como empresa e a ser adotado pela comunidade de c\u00f3digo aberto, continuamos a encontrar novos desafios e casos de uso ao longo do caminho. Muitas empresas est\u00e3o recorrendo a n\u00f3s para ajudar a adicionar um cache a um aplicativo existente ou a evoluir aplicativos para tecnologias de pr\u00f3xima gera\u00e7\u00e3o. Para essas implementa\u00e7\u00f5es de cache de n\u00edvel dois, ajudamos a desenvolver uma camada de acesso a dados para aplicativos no projeto Spring. O Spring Data Couchbase oferece integra\u00e7\u00e3o com o cluster do Couchbase Server, fornecendo intera\u00e7\u00e3o de dados centrada em POJO com Couchbase Buckets e ajudando a fornecer uma implementa\u00e7\u00e3o no estilo de reposit\u00f3rio. Esse esfor\u00e7o foi muito bem-sucedido e gerou muito interesse.<\/p>\n<p class=\"p1\">No entanto, uma simples pesquisa na Web por \"JPA\" revela mais do que isso, o que nos ajuda a entender outras necessidades em toda a empresa. Embora o padr\u00e3o JPA seja bem <a href=\"https:\/\/download.oracle.com\/otndocs\/jcp\/persistence-2_1-fr-eval-spec\/index.html\">definido<\/a>\u00a0Por fim, a implementa\u00e7\u00e3o de cada fornecedor varia o suficiente para que o suporte a ORMs espec\u00edficos, como Eclipselink e Hibernate, exija trabalho adicional. Envolvemos nossos parceiros da <a href=\"https:\/\/www.thumbtack.net\">Tecnologia Thumbtack<\/a>\u00a0que implantou uma de suas equipes especializadas em desenvolvimento NOSQL para ajudar a obter<span class=\"s2\">\u00a0o trabalho realizado.\u00a0<\/span><\/p>\n<p class=\"p1\">O objetivo era fornecer uma estrutura de c\u00f3digo boilerplate para aproveitar o Couchbase como um cache de n\u00edvel dois para o Eclipselink e o Hibernate. H\u00e1 aprimoramentos a serem feitos com o lan\u00e7amento de nossos SDKs 2.0 e outros aprimoramentos de integra\u00e7\u00e3o, mas quer\u00edamos poder dar suporte a esses esfor\u00e7os de cache no curto prazo. Ambos os conectores JPA do Hibernate e do Eclipselink foram publicados pela Thumbtack no github com casos de teste para mostrar a configura\u00e7\u00e3o.<\/p>\n<p class=\"p3\"><span class=\"s2\">Hibernar - <span class=\"s3\">https:\/\/github.com\/thumbtack-technology\/Couchbase-L2-Hibernate<\/span><\/span><br \/>\n<span style=\"font-family: inherit;font-size: 1em;line-height: 1.4375em\">EclipseLink -\u00a0<\/span><span class=\"s4\" style=\"font-family: inherit;font-size: 1em;line-height: 1.4375em;background-color: #ffffff\">https:\/\/github.com\/thumbtack-technology\/Couchbase-L2-EclipseLink<\/span><\/p>\n<p class=\"p1\">Embora sempre exista a possibilidade de alavancar <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/wiki\/display\/couchbase\/Types+of+Couchbase+Clients\/\">Moxi<\/a>\u00a0para permitir que os clientes memcached existentes sejam sens\u00edveis ao vbubket.\u00a0<span style=\"font-family: inherit;font-size: 1em;line-height: 1.4375em\">Sab\u00edamos que o pacote javax.persistance tinha um <a href=\"https:\/\/docs.oracle.com\/javaee\/7\/api\/javax\/persistence\/package-summary.html\">interface de cache <\/a>dispon\u00edvel<\/span><span style=\"font-family: inherit;font-size: 1em;line-height: 1.4375em\">\u00a0mas cada implementa\u00e7\u00e3o de fornecedor requer nuances que precisam ser abordadas. Por exemplo, ao revisar os <a href=\"https:\/\/www.eclipse.org\/eclipselink\/documentation\/2.5\/solutions\/performance001.htm#CHDCGIHF\">Documenta\u00e7\u00e3o do eclipselink<\/a><\/span><span style=\"font-family: inherit;font-size: 1em;line-height: 1.4375em\">\u00a0mostra a capacidade de adicionar um cache de n\u00edvel 2, mas nada que nos ajude a entender as especificidades do aproveitamento de uma solu\u00e7\u00e3o NoSQL. A Thumbtack nos ajudou a resolver esses desafios de configura\u00e7\u00e3o.<\/span><\/p>\n<div class=\"geshifilter\">\n<div class=\"xml geshifilter-xml\" style=\"font-family: monospace\">Eclipselink persistence.xml<br \/>\n<span style=\"color: #009900\"><span style=\"color: #000000;font-weight: bold\">&lt;propriedade<\/span> <span style=\"color: #000066\">nome<\/span>=<span style=\"color: #ff0000\">\"couchbase.cache.servers\"<\/span><\/span><br \/>\n<span style=\"color: #009900\"> \u00a0 \u00a0 \u00a0 \u00a0 \u00a0<span style=\"color: #000066\">valor<\/span>=<span style=\"color: #ff0000\">\"https:\/\/couchbase-cluster-node01:8091\/pools,<\/span><br \/>\n<span style=\"color: #009900\"> \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 https:\/\/couchbase-cluster-node02:8091\/pools&#8221;<\/span><span style=\"color: #000000;font-weight: bold\">\/&gt;<\/span><\/span><br \/>\n<span style=\"color: #009900\"><span style=\"color: #000000;font-weight: bold\">&lt;propriedade<\/span> <span style=\"color: #000066\">nome<\/span>=<span style=\"color: #ff0000\">\"couchbase.cache.bucket.name\"<\/span> <span style=\"color: #000066\">valor<\/span>=<span style=\"color: #ff0000\">\"l2-cache\"<\/span><span style=\"color: #000000;font-weight: bold\">\/&gt;<\/span><\/span><br \/>\n<span style=\"color: #009900\"><span style=\"color: #000000;font-weight: bold\">&lt;propriedade<\/span> <span style=\"color: #000066\">nome<\/span>=<span style=\"color: #ff0000\">\"couchbase.cache.bucket.password\"<\/span> <span style=\"color: #000066\">valor<\/span>=<span style=\"color: #ff0000\">\"cachepwd\"<\/span><span style=\"color: #000000;font-weight: bold\">\/&gt;<\/span><\/span><br \/>\n<span style=\"color: #009900\"><span style=\"color: #000000;font-weight: bold\">&lt;propriedade<\/span> <span style=\"color: #000066\">nome<\/span>=<span style=\"color: #ff0000\">\"couchbase.cache.ttl\"<\/span> <span style=\"color: #000066\">valor<\/span>=<span style=\"color: #ff0000\">&#8220;600&#8221;<\/span><span style=\"color: #000000;font-weight: bold\">\/&gt;<\/span><\/span><\/p>\n<p><span style=\"color: #009900\"><span style=\"color: #000000;font-weight: bold\">&lt;propriedade<\/span> <span style=\"color: #000066\">nome<\/span>=<span style=\"color: #ff0000\">\"eclipselink.descriptor.customizer.<\/span><\/span>&#8221;<br \/>\nvalue=\"net.thumbtack.couchbase.eclipselink.ClassCustomizer\"\/&gt;<br \/>\n<span style=\"color: #009900\">&gt;<\/span><br \/>\n<span style=\"color: #009900\"><span style=\"color: #000000;font-weight: bold\">&lt;propriedade<\/span> <span style=\"color: #000066\">nome<\/span>=<span style=\"color: #ff0000\">\"eclipselink.descriptor.customizer.Order\"<\/span><\/span><br \/>\n<span style=\"color: #009900\"> \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0<span style=\"color: #000066\">valor<\/span>=<span style=\"color: #ff0000\">\"net.thumbtack.couchbase.eclipselink.ClassCustomizer\"<\/span><span style=\"color: #000000;font-weight: bold\">\/&gt;<\/span><\/span><\/p>\n<p><span style=\"color: #009900\">&gt;<\/span><br \/>\n<span style=\"color: #009900\"><span style=\"color: #000000;font-weight: bold\">&lt;propriedade<\/span> <span style=\"color: #000066\">nome<\/span>=<span style=\"color: #ff0000\">\"eclipselink.descriptor.customizer.<\/span><\/span>&#8221;<br \/>\nvalue=\"net.thumbtack.couchbase.eclipselink.ClassCustomizer\"\/&gt;<\/div>\n<\/div>\n<div class=\"geshifilter\">\n<div class=\"xml geshifilter-xml\" style=\"font-family: monospace\">Hibernate persistence.xml<br \/>\n<span style=\"color: #009900\"><span style=\"color: #000000;font-weight: bold\">&lt;propriedade<\/span> <span style=\"color: #000066\">nome<\/span>=<span style=\"color: #ff0000\">\"couchbase.cache.servers\"<\/span><\/span><br \/>\n<span style=\"color: #009900\"> \u00a0 \u00a0 \u00a0 \u00a0 \u00a0<span style=\"color: #000066\">valor<\/span>=<span style=\"color: #ff0000\">\"https:\/\/couchbase-cluster-node01:8091\/pools,<\/span><br \/>\n<span style=\"color: #009900\"> \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 https:\/\/couchbase-cluster-node02:8091\/pools&#8221;<\/span><span style=\"color: #000000;font-weight: bold\">\/&gt;<\/span><\/span><br \/>\n<span style=\"color: #009900\"><span style=\"color: #000000;font-weight: bold\">&lt;propriedade<\/span> <span style=\"color: #000066\">nome<\/span>=<span style=\"color: #ff0000\">\"couchbase.cache.bucket.name\"<\/span> <span style=\"color: #000066\">valor<\/span>=<span style=\"color: #ff0000\">\"l2-cache\"<\/span><span style=\"color: #000000;font-weight: bold\">\/&gt;<\/span><\/span><br \/>\n<span style=\"color: #009900\"><span style=\"color: #000000;font-weight: bold\">&lt;propriedade<\/span> <span style=\"color: #000066\">nome<\/span>=<span style=\"color: #ff0000\">\"couchbase.cache.bucket.password\"<\/span> <span style=\"color: #000066\">valor<\/span>=<span style=\"color: #ff0000\">\"cachepwd\"<\/span><span style=\"color: #000000;font-weight: bold\">\/&gt;<\/span><\/span><br \/>\n<span style=\"color: #009900\"><span style=\"color: #000000;font-weight: bold\">&lt;propriedade<\/span> <span style=\"color: #000066\">nome<\/span>=<span style=\"color: #ff0000\">\"couchbase.cache.ttl\"<\/span> <span style=\"color: #000066\">valor<\/span>=<span style=\"color: #ff0000\">&#8220;600&#8221;<\/span><span style=\"color: #000000;font-weight: bold\">\/&gt;<\/span><\/span><\/p>\n<p><span style=\"color: #009900\"><span style=\"color: #000000;font-weight: bold\">&lt;propriedade<\/span> <span style=\"color: #000066\">nome<\/span>=<span style=\"color: #ff0000\">\"hibernate.cache.region.factory_class\"<\/span> <span style=\"color: #000066\">valor<\/span>=<span style=\"color: #ff0000\">\"com.googlecode.hibernate.memcached.MemcachedRegionFactory\"<\/span> <span style=\"color: #000000;font-weight: bold\">\/&gt;<\/span><\/span><br \/>\n<span style=\"color: #009900\"><span style=\"color: #000000;font-weight: bold\">&lt;propriedade<\/span> <span style=\"color: #000066\">nome<\/span>=<span style=\"color: #ff0000\">\"hibernate.memcached.memcacheClientFactory\"<\/span> <span style=\"color: #000066\">valor<\/span>=<span style=\"color: #ff0000\">\"net.thumbtack.hibernate.couchbase.CouchbaseClientFactory\"<\/span> <span style=\"color: #000000;font-weight: bold\">\/&gt;<\/span><\/span><\/div>\n<\/div>\n<p class=\"p1\">Detalhes adicionais sobre como fazer com que os casos de teste do Thumbtack sejam executados localmente podem ser encontrados nos reposit\u00f3rios do github.<\/p>\n<p class=\"p1\">Esses conectores nos permitem ampliar os aplicativos existentes adicionando um cache de objetos com um cluster dur\u00e1vel. Aproveitando o poder do Couchbase, podemos evitar o Cold Cache, reduzir drasticamente a carga no seu RDBMS, fazer o auto-shard no cluster e fornecer um armazenamento de objetos dur\u00e1vel.<\/p>","protected":false},"excerpt":{"rendered":"<p>As Couchbase continues to experience growth as a company and increased adoption by the open source community we continue to encounter new challenges and use cases along the way. Many enterprises are turning to us to help add a cache [&hellip;]<\/p>","protected":false},"author":2,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1],"tags":[],"ppma_author":[8968],"class_list":["post-1549","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.7.1 (Yoast SEO v25.7) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Couchbase JPA using Hibernate and Eclipselink - The Couchbase Blog<\/title>\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.couchbase.com\/blog\/pt\/couchbase-jpa-level-2-cache-0\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Couchbase JPA using Hibernate and Eclipselink\" \/>\n<meta property=\"og:description\" content=\"As Couchbase continues to experience growth as a company and increased adoption by the open source community we continue to encounter new challenges and use cases along the way. Many enterprises are turning to us to help add a cache [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-jpa-level-2-cache-0\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2014-10-20T08:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-06-28T08:33:49+00:00\" \/>\n<meta name=\"author\" content=\"The Couchbase Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"The Couchbase Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\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.couchbase.com\/blog\/couchbase-jpa-level-2-cache-0\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-jpa-level-2-cache-0\/\"},\"author\":{\"name\":\"The Couchbase Team\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/764f4a6771ee19bc7af70b70a326fb93\"},\"headline\":\"Couchbase JPA using Hibernate and Eclipselink\",\"datePublished\":\"2014-10-20T08:00:00+00:00\",\"dateModified\":\"2023-06-28T08:33:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-jpa-level-2-cache-0\/\"},\"wordCount\":579,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-jpa-level-2-cache-0\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"articleSection\":[\"Uncategorized\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-jpa-level-2-cache-0\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-jpa-level-2-cache-0\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/couchbase-jpa-level-2-cache-0\/\",\"name\":\"Couchbase JPA using Hibernate and Eclipselink - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-jpa-level-2-cache-0\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-jpa-level-2-cache-0\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2014-10-20T08:00:00+00:00\",\"dateModified\":\"2023-06-28T08:33:49+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-jpa-level-2-cache-0\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-jpa-level-2-cache-0\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-jpa-level-2-cache-0\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-jpa-level-2-cache-0\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Couchbase JPA using Hibernate and Eclipselink\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/764f4a6771ee19bc7af70b70a326fb93\",\"name\":\"The Couchbase Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/7befc37d02226b59499817eafdec60c3\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/b4c18c758421903398e84d6c9560f319f39c665798d7d23e6a6f9dff8a8f984e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/b4c18c758421903398e84d6c9560f319f39c665798d7d23e6a6f9dff8a8f984e?s=96&d=mm&r=g\",\"caption\":\"The Couchbase Team\"},\"description\":\"Jennifer Garcia is a Senior Web Manager at Couchbase Inc. As the website manager, Jennifer has overall responsibility for the website properties including design, implementation, content, and performance.\",\"sameAs\":[\"https:\/\/www.couchbase.com\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/pt\/author\/jennifer-garcia\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Couchbase JPA using Hibernate and Eclipselink - The Couchbase Blog","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.couchbase.com\/blog\/pt\/couchbase-jpa-level-2-cache-0\/","og_locale":"pt_BR","og_type":"article","og_title":"Couchbase JPA using Hibernate and Eclipselink","og_description":"As Couchbase continues to experience growth as a company and increased adoption by the open source community we continue to encounter new challenges and use cases along the way. Many enterprises are turning to us to help add a cache [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-jpa-level-2-cache-0\/","og_site_name":"The Couchbase Blog","article_published_time":"2014-10-20T08:00:00+00:00","article_modified_time":"2023-06-28T08:33:49+00:00","author":"The Couchbase Team","twitter_card":"summary_large_image","twitter_misc":{"Written by":"The Couchbase Team","Est. reading time":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-jpa-level-2-cache-0\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-jpa-level-2-cache-0\/"},"author":{"name":"The Couchbase Team","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/764f4a6771ee19bc7af70b70a326fb93"},"headline":"Couchbase JPA using Hibernate and Eclipselink","datePublished":"2014-10-20T08:00:00+00:00","dateModified":"2023-06-28T08:33:49+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-jpa-level-2-cache-0\/"},"wordCount":579,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-jpa-level-2-cache-0\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":["Uncategorized"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/couchbase-jpa-level-2-cache-0\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-jpa-level-2-cache-0\/","url":"https:\/\/www.couchbase.com\/blog\/couchbase-jpa-level-2-cache-0\/","name":"Couchbase JPA using Hibernate and Eclipselink - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-jpa-level-2-cache-0\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-jpa-level-2-cache-0\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2014-10-20T08:00:00+00:00","dateModified":"2023-06-28T08:33:49+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-jpa-level-2-cache-0\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/couchbase-jpa-level-2-cache-0\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-jpa-level-2-cache-0\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-jpa-level-2-cache-0\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Couchbase JPA using Hibernate and Eclipselink"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"Blog do Couchbase","description":"Couchbase, o banco de dados NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"Blog do Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/764f4a6771ee19bc7af70b70a326fb93","name":"A equipe do Couchbase","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/7befc37d02226b59499817eafdec60c3","url":"https:\/\/secure.gravatar.com\/avatar\/b4c18c758421903398e84d6c9560f319f39c665798d7d23e6a6f9dff8a8f984e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b4c18c758421903398e84d6c9560f319f39c665798d7d23e6a6f9dff8a8f984e?s=96&d=mm&r=g","caption":"The Couchbase Team"},"description":"Jennifer Garcia \u00e9 gerente s\u00eanior de Web na Couchbase Inc. Como gerente do site, Jennifer tem a responsabilidade geral pelas propriedades do site, incluindo design, implementa\u00e7\u00e3o, conte\u00fado e desempenho.","sameAs":["https:\/\/www.couchbase.com"],"url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/jennifer-garcia\/"}]}},"authors":[{"term_id":8968,"user_id":2,"is_guest":0,"slug":"jennifer-garcia","display_name":"The Couchbase Team","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/b4c18c758421903398e84d6c9560f319f39c665798d7d23e6a6f9dff8a8f984e?s=96&d=mm&r=g","first_name":"Jennifer","last_name":"Garcia","user_url":"https:\/\/www.couchbase.com","author_category":"","description":"Jennifer Garcia \u00e9 gerente s\u00eanior de Web na Couchbase Inc. Como gerente do site, Jennifer tem a responsabilidade geral pelas propriedades do site, incluindo design, implementa\u00e7\u00e3o, conte\u00fado e desempenho."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/1549","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=1549"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/1549\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=1549"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=1549"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=1549"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=1549"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}