Introdução ao mapeamento de hibernação

Existem diferentes relações que mantemos para estabelecer um link entre diferentes tabelas de banco de dados em modelos de banco de dados relacional. Essas relações são um para um, um para muitos e muitos para muitos. Um conceito semelhante está sendo instalado no hibernate. Aqui o hibernate trabalha para vincular a linguagem JAVA à tabela do banco de dados, juntamente com este link, podemos estabelecer relações / mapeamentos. Esses mapeamentos podem ser usados ​​para navegar pelo banco de dados. Esse mapeamento é definido na planilha XML. Isso geralmente é escrito por codificadores, mas também podem ser usadas ferramentas diferentes para criá-lo. Algumas dessas ferramentas são XDoclet, AndroMDA e Middlegen.

Tipos principais de mapeamento de hibernação

Existem basicamente três tipos de mapeamento. Esses são:

  1. Um para um: nesse tipo de relacionamento, um atributo é mapeado para outro atributo de maneira que apenas um para um seja mantido. Isso pode ser melhor entendido com a ajuda de um exemplo. Por exemplo, se uma pessoa trabalha apenas para um departamento. A mesma pessoa não pode ser empregada por outro departamento, então esse mapeamento é chamado de um para um.
  2. Um para muitos: nesse tipo de relacionamento, um atributo é mapeado para outro atributo de maneira que um atributo seja mapeado para muitos outros atributos. Isso pode ser melhor entendido com a ajuda de um exemplo. por exemplo: se um aluno é membro de grupos diferentes. Como um grupo cultural, clube esportivo, clube de robótica ao mesmo tempo. Nesse caso, o relacionamento do aluno e do grupo é chamado de relacionamento muitos para um.
  3. Muitos para muitos: nesse tipo de relacionamento, um atributo é mapeado para outro atributo de uma maneira que qualquer número de atributos possa ser vinculado a outros atributos sem restrição no número. Isso pode ser melhor entendido com a ajuda de um exemplo. por exemplo, na biblioteca, uma pessoa pode levar vários livros e também um livro pode ser emitido para vários livros. Esse tipo de relacionamento é chamado de muitos para muitos relacionamentos. Esse é um relacionamento complexo e precisa de muito entendimento do caso de uso de negócios antes da implementação.

Explicação detalhada do mapeamento de hibernação

Se analisarmos o código, entenderemos que existe uma tabela EMP_ATTR criada no banco de dados para armazenar atributos de funcionários que possuem colunas como nome, sobrenome e salário. Os dados do aplicativo java são armazenados nesta tabela, desenvolvida no front end.

Especificações técnicas baseadas no código escrito para explicar:

é um nó raiz que contém elementos nele. A classe é usada para vincular o java ao banco de dados por meio de dois atributos. Nome da classe "emp" é o nome da classe obtido do código java, enquanto a tabela "EMP_ATTR" é o nome da tabela do banco de dados. O elemento ajuda no mapeamento da chave primária para IDs exclusivos.

A chave primária está presente no banco de dados, enquanto os IDs exclusivos são derivados de uma classe java. name é proveniente de java, enquanto a coluna é a coluna de uma tabela no banco de dados. O atributo type possui o estilo de mapeamento de hibernação, que converte o tipo de dados java em tipo de dados sql. A classe é usada para gerar a chave primária automaticamente. O elemento gerador é "nativo".

Isso fornece uma indicação para hibernar que ele pode escolher qualquer algoritmo projetado como Hilo, identidade ou algoritmo de sequência para criar uma chave primária. Finalmente, uma aula. Esta é a classe de definição que mapeia a propriedade da classe java para a coluna na tabela do banco de dados. O atributo name refere-se ao nome da propriedade da classe java enquanto a coluna é a coluna de uma tabela no banco de dados. O atributo type contém o tipo de hibernação, que ajudará o sistema a determinar o tipo de dados quando os dados da classe java forem convertidos no tipo de dados RDBMS (sistema de gerenciamento de banco de dados relacional).

Nota: Este é um código para explicar o mapeamento de hibernação. Não é a implementação de código real.

Código:

É assim que o arquivo XML se parece. É originário do hibernate.org, que é o site oficial do Hibernate.


"-//Hibernate/Hibernate Mapping DTD//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">





"-//Hibernate/Hibernate Mapping DTD//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">





"-//Hibernate/Hibernate Mapping DTD//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">




Este arquivo é salvo no formato .hbm.xml. Nesse caso, o arquivo deveria ter sido armazenado no nome EMP_ATR.hbm.xml.

Tipo de mapeamento de hibernação

Portanto, no exemplo de código anterior, vemos os tipos de mapeamento de hibernação no arquivo XML. Esses tipos de mapeamento podem ser de vários tipos:

  1. Primitivo: esse tipo de mapeamento possui tipos de dados definidos como "número inteiro", "caractere", "float", "string", "double", "booleano", "curto", "longo" etc. Eles estão presentes na estrutura de hibernação para mapear o tipo de dados java para o tipo de dados RDBMS.
  2. Data e hora: são "data", "hora", "calendário", "registro de data e hora" etc. Como primitivos, temos esses mapeamentos de tipos de dados de data e hora.
  3. Objetos binários e grandes: esses tipos são "clob", "blob", "binário", "texto" etc. Os tipos de dados clob e blob estão presentes para manter o mapeamento do tipo de dados de objetos grandes, como imagens e vídeos.
  4. JDK vinculado: alguns dos mapeamentos para objetos que estão além do alcance do tipo anterior de mapeamento estão incluídos nesta categoria. São "classe", "localidade", "moeda", "fuso horário".

Conclusão

Portanto, o mapeamento de hibernação é um conceito que pode ser realizado estabelecendo os mapeamentos usando arquivos XML. Esses mapeamentos se tornam a base de um banco de dados projetado de acordo com os requisitos do modelo de negócios. Isso ajuda a determinar os relacionamentos entre os objetos persistentes no banco de dados. Esse mapeamento é fundamental para o design do banco de dados, pois se torna a base para o aplicativo front-end em termos de desempenho, precisão e velocidade.

Artigos recomendados

Este é um guia para o mapeamento de hibernação. Aqui discutimos o mapeamento de hibernação com uma explicação detalhada, tipos e os principais tipos de mapeamento de hibernação, juntamente com o código de exemplo. Você também pode consultar o seguinte artigo para saber mais -

  1. O que é o Hibernate?
  2. Estrutura Hibernate
  3. O que é o Java Hibernate?
  4. Perguntas da entrevista do Hibernate