Introdução à sessão do Hibernate
Existem muitas linguagens de programação orientadas a objetos que possuem suas próprias sintaxes e bibliotecas, enquanto, por outro lado, todos os dados que armazenamos no back-end são baseados no modelo relacional com protocolos e sintaxes totalmente diferentes a serem seguidos. O Hibernate é uma das plataformas de middleware para preencher essa lacuna. Esse aplicativo de middleware eu chamei de ORM (Object Relational Mapping). Temos várias ferramentas ORM, como Hibernate, IBatis, Toplink e muito mais. Neste artigo, focaremos no Hibernate e suas sessões.
O que é o Hibernate?
É a ferramenta ORM usada para vincular e mapear os objetos na camada de aplicativo ao banco de dados para a linguagem de programação JAVA. Ele foi criado para lidar com a incompatibilidade de impedâncias entre uma linguagem de programação típica e o banco de dados relacional. É um software gratuito, com uma licença GNU, pode ser facilmente baixado da Internet.
O Hibernate é uma extensão da API de persistência JAVA. Ele suporta a linguagem Hibernate Query (HQL). A principal função do Hibernate é vincular os objetos e classes JAVA às classes de banco de dados via estrutura XML ou anotações JAVA. Da mesma forma, os tipos de dados do JAVA devem corresponder aos tipos de dados do banco de dados, para que haja falta de comunicação entre dois sistemas diferentes. O Hibernate pode ser usado para extrair os dados usando consultas. Ele pode gerar chamadas SQL e, assim, mitigar erros manuais e o trabalho do desenvolvedor. Existem diferentes funções embutidas no hibernate para facilitar o uso, como:
load (), update (), get (), mesclar (): se temos certeza de que o objeto existe, usamos esta função para carregar o objeto de hibernação, caso contrário, usamos a função get (). As funções de atualização e mesclagem são usadas para atualizar os registros do banco de dados com base nas sessões atuais já existentes ou somos sessões totalmente novas para a transação. Existem muitas outras funções como essa para oferecer suporte à hibernação.
O que é a sessão de hibernação?
É uma interface de tempo de execução entre um aplicativo e o Hibernates, criada sob demanda. Em outras palavras, ele fornece a conectividade entre seu aplicativo e o banco de dados. Ele oferece várias funções, como criar, excluir, obter, atualizar para operar no banco de dados usando métodos de sessão que existem em quatro estados, a saber: Transitório, Persistente e Desanexado, Removido.
O Hibernate foi criado para servir a esse propósito. Ele conecta suavemente o banco de dados à linguagem java, independentemente de qualquer banco de dados. Ele vem com recursos flexíveis e, assim, promove a flexibilidade de lidar com dados em diferentes plataformas.
Métodos de sessão de hibernação
- Save (): O método Save () gera a chave primária e insere o registro no banco de dados. É semelhante ao método persist () no JPA, mas se comporta de maneira diferente em uma instância desanexada, criando o registro duplicado na confirmação do banco de dados.
- Update (): Update () é usado para atualizar o registro do banco de dados existente. Retorna uma exceção se o registro não for encontrado ou chamado em uma instância transitória.
- saveOrUpdate (): salva ou atualiza o banco de dados com base na entidade passada. Ele não retorna uma exceção no estado transitório, mas torna o estado persistente durante uma operação de banco de dados.
- merge (): os valores de uma entidade desanexada são atualizados no banco de dados quando o merge () é usado alterando a entidade desanexada para o estado persistente.
- delete (): O método Delete funciona no modo persistente para remover a entidade do banco de dados. Uma exceção será retornada se nenhum registro for encontrado no banco de dados.
Como criar uma sessão de hibernação?
Para criar uma sessão de hibernação, precisamos carregar dependências de hibernação na biblioteca da ferramenta que você está usando junto com o conector do banco de dados. Depois que essas bibliotecas são carregadas, podemos estabelecer a conexão criando uma sessão usando a fábrica de sessões.
Vamos supor que temos uma tabela com duas colunas: ID do funcionário e Nome do funcionário, que devem ser atualizados.
Fragmento de código:
public class testclasshibernate // declaração de classe.
(
public static void main (string () args) // A execução principal do programa deve começar a partir daqui.
(
testprogram = novo programa (); // Aqui a classe é objetificada e, em seguida, esse objeto é usado como referência para enviar valores como nome e ID do funcionário que precisam ser importados para a tabela do banco de dados.
program.setEmpId (101);
program.setEmpName ("Usuário1");
Configuração con = new Config (). Configure (). AddAnnotedClass testclasshibernate;
// Criar sessão de fábrica usando a configuração
SessionFactory sf1 = con.buildsessionfactory ();
// O método Open session fornece o objeto da sessão.
Sessão s1 = sf.OpenSession ();
// Transação de abertura
Transação t1 = session.beginTransaction ();
session.save (programa de teste);
tx.commit ();
)
)
Vantagens da sessão de hibernação
- A sessão de hibernação está em conformidade com as propriedades ACID (Atomicidade, Consistência, Isolamento e Durabilidade) do banco de dados.
- Seu mapeamento de objetos é consistente e, portanto, reduz muitos bugs e brechas potenciais do código.
- É independente de banco de dados, portanto, mesmo que exista algum banco de dados como o mySQL ou oracle, este software pode ser usado.
- Não é necessário conhecer o SQL, apenas o conhecimento básico sobre ele deve ajudá-lo a entender como ele funciona.
- Fácil de criar associações e muita orientação presente na rede. O Java que está sendo amplamente utilizado com uma associação a um banco de dados na rede pode c = aproveitar ao máximo este software se usado com sabedoria.
- O código mínimo é alterado quando há alterações nas tabelas, pois tudo é tratado por meio de classe e objetos. A maior parte do código e das funcionalidades são genéricos, tornando-o mais digno para uso em aplicativos com muita dependência de dados transacionais.
- O Hibernate suporta cache multinível, melhorando assim a eficiência da codificação.
Conclusão
Houve uma discrepância histórica dos dados do banco de dados e dos dados manipulados através de qualquer linguagem de programação fora do banco de dados. Para resolver isso, uma nova solução foi projetada chamada "ORM". Os dados que são armazenados em forma de tabela em um banco de dados agora podem ser recuperados do banco de dados e podem ser manipulados na forma de objetos na linguagem de programação e, portanto, eliminando o uso de consultas SQL.
Artigos recomendados
Este é um guia para a Sessão de Hibernação. Aqui discutimos o que é a sessão de hibernação e hibernação? juntamente com métodos e vantagens. Você também pode consultar os seguintes artigos para saber mais -
- Hibernate vs JPA
- O que é CSRF?
- Spring vs Spring Boot
- Hibernate vs JDBC