Hibernate
-
Implementar Cache de Segundo Nível de Hibernate com NCache
Neste tutorial, exploraremos a implementação de um cache de segundo nível em Hibernate usando NCache. Vamos configurar um aplicativo Java com Hibernate. Em seguida, configuraremos NCache como cache de segundo nível. Finalmente, testaremos a implementação para ver como o cache reduz a carga no banco de dados e melhora o desempenho. Visão Geral Antes de mergulharmos na implementação, vamos entender os fundamentos de Hibernate, NCache e o cache de segundo nível de Hibernate. Hibernate Hibernate é um framework de mapeamento…
-
Modificar Dados JSON em Postgres e Hibernate 6
Este é outro artigo na série relacionada à Suporte às funções JSON do Postgres em um projeto que usa o framework Hibernate com a versão 6. O tópico do artigo são as operações de modificação em registros JSON. Como no artigo anterior, vale mencionar que o Postgres pode não ter operações tão abrangentes quanto outros bancos de dados NoSQL, como o MongoDB, para modificação de JSON (embora, com a construção apropriada de funções, seja possível alcançar o mesmo efeito). Ainda…
-
Guia de Atualização para Spring Boot 3.0 com Spring Data JPA e Querydsl
No ano passado, escrevi dois artigos sobre JPA Criteria e Querydsl (veja os artigos Introdução e Metamodelo). Desde o final do ano passado, houve um novo lançamento importante do Spring Boot 3. Este lançamento é baseado no Spring Framework 6 com várias mudanças significativas e questões que devemos considerar ao atualizar. O objetivo deste artigo é destacar essas mudanças ao atualizar o projeto sat-jpa (projeto SAT). As tecnologias utilizadas aqui são: Spring Boot 3.0.2, Hibernate 6.1.6.Final Spring Data JPA 3.0.1…
-
Hibernate Get vs. Load
No Hibernate, existe o conceito de busca de linha única. Para obter uma única linha na tabela de banco de dados correspondente, optaremos por get() ou load(). get() get() sempre acede ao banco de dados. Se o id serializável for encontrado, então obteremos os detalhes correspondentes. Exemplo SwingBowlers swingBowlers = (SwingBowlers) openSession.get(SwingBowlers.class,1); O id serializável é 1 (jerSeyNo) –> Chave Primária Se o id serializável não for encontrado, então obteremos o resultado como nulo.load() load() sempre cria um objeto proxy.Se…
-
Como Integrar o NCache com JPA Hibernate para Cache em Aplicações Spring Boot
O que é JPA Hibernate? Hibernate é uma das bibliotecas de Mapeamento Objeto-Relacional (ORM) mais populares para aplicações Java e Spring. Ajuda os desenvolvedores a se conectarem e trabalharem com bancos de dados relacionais a partir de aplicações Java sem a necessidade de escrever consultas SQL. A biblioteca implementa a especificação JPA (Java Persistence API) e fornece várias funcionalidades adicionais que ajudam a desenvolver a persistência nas aplicações de forma mais rápida e fácil. Cache no JPA Hibernate Uma das…
-
Guia de Atualização para o Spring Boot 3.2 para o Projeto Spring Data JPA e Querydsl
No ano passado, escrevi o artigo, “Upgrade Guide To Spring Boot 3.0 for Spring Data JPA and Querydsl,” para a atualização do Spring Boot 3.0.x. Agora, temos o Spring Boot 3.2. Vamos ver dois problemas que você pode enfrentar ao atualizar para o Spring Boot 3.2.2. As tecnologias utilizadas no projeto SAT são: Spring Boot 3.2.2 e Spring Framework 6.1.3 Hibernate + Gerador de Modelo JPA 6.4.1. Final Spring Data JPA 3.2.2 Querydsl 5.0.0. Mudanças Todas as mudanças no Spring…
-
Funções JSON do Postgres com Hibernate 6
Este é uma continuação do artigo anterior onde foi descrito como adicionar suporte para as funções JSON do Postgres e usar o Hibernate 5. Neste artigo, focaremos em como usar operações JSON em projetos que utilizam o framework Hibernate com a versão 6. Suporte Nativo O Hibernate 6 já possui algum bom suporte para consulta por atributos JSON, como o exemplo a seguir demonstra. Temos nossa classe de entidade normal que possui uma propriedade JSON: Java import jakarta.persistence.Column; import…
-
Funções JSON do Postgres com Hibernate 5
Banco de dados Postgres suporta alguns tipos JSON e operações especiais para esses tipos. Em alguns casos, essas operações podem ser uma boa alternativa para bancos de dados de documentos como MongoDB ou outros bancos de dados NoSQL. Claro, bancos de dados como o MongoDB podem ter melhores processos de replicação, mas esse assunto está fora do escopo deste artigo. Neste artigo, focaremos em como usar operações JSON em projetos que utilizam o framework Hibernate com a versão 5. Modelo…
-
Pesquisa de Texto Completo no Postgres com Hibernate 6
Hibernate O Hibernate por si só não possui suporte a pesquisa de texto completo. Ele precisa contar com o suporte do mecanismo de banco de dados ou soluções de terceiros. Uma extensão chamada Hibernate Search se integra com Apache Lucene ou Elasticsearch (também há integração com o OpenSearch). Postgres O Postgres possui funcionalidade de pesquisa de texto completo desde a versão 7.3. Embora não possa competir com mecanismos de pesquisa como o Elasticsearch ou Lucene, ainda oferece uma solução flexível…