Введение в Hibernate Mapping

Существуют разные отношения, которые мы поддерживаем, чтобы установить связь между различными таблицами базы данных в моделях реляционных баз данных. Эти отношения один к одному, один ко многим и многие ко многим. Аналогичная концепция устанавливается в спящем режиме. Здесь hibernate работает, чтобы связать язык JAVA с таблицей базы данных, и с помощью этой ссылки мы можем установить отношения / отображения. Эти сопоставления могут быть использованы для навигации по базе данных. Это отображение определено в листе XML. Обычно это пишется кодерами, но для его создания также могут использоваться разные инструменты. Некоторые из этих инструментов - XDoclet, AndroMDA и Middlegen.

Основные типы карт Hibernate

Есть в основном три типа картирования. Эти:

  1. Один-к-одному: в этом типе отношений один атрибут отображается на другой атрибут таким образом, что поддерживается только одно-одно соответствие. Это можно лучше понять с помощью примера. Например, если один человек работает только в одном отделе. Тот же человек не может быть нанят другим отделом, тогда это сопоставление называется один в один.
  2. Один ко многим: в этом типе отношений один атрибут отображается на другой атрибут таким образом, что один атрибут отображается на множество других атрибутов. Это можно лучше понять с помощью примера. Например: если один студент является членом разных групп. Как культурная группа, спортивный клуб, робототехнический клуб одновременно. В этом случае отношения между студентом и группой называются отношениями «один на один».
  3. Многие ко многим: в этом типе отношений один атрибут сопоставляется с другим атрибутом таким образом, что любое количество атрибутов может быть связано с другими атрибутами без ограничения количества. Это можно лучше понять с помощью примера. Например, в библиотеке один человек может взять несколько книг, а одна книга может быть выпущена для нескольких книг. Такие отношения называются отношениями многие ко многим. Это сложные отношения, которые требуют глубокого понимания бизнес-прецедента перед внедрением.

Hibernate Mapping Подробное объяснение

Если мы пройдемся по коду, то поймем, что в базе данных создана таблица EMP_ATTR для хранения атрибутов сотрудников, в которых есть столбцы, такие как имя, фамилия и зарплата. Данные из Java-приложения хранятся в этой таблице, которая разработана на переднем конце.

Техническая спецификация основана на коде, написанном для объяснения:

является корневым узлом, который содержит элементы в нем. Класс используется для связи Java с базой данных через два атрибута. Имя класса «emp» - это имя класса, взятое из кода Java, а таблица «EMP_ATTR» - это имя таблицы из базы данных. Помощь элемента в сопоставлении первичного ключа с уникальными идентификаторами.

Первичный ключ присутствует в базе данных, а уникальные идентификаторы являются производными от класса Java. имя происходит из Java, в то время как столбец является столбцом из таблицы в базе данных. Атрибут type имеет стиль отображения hibernate, который преобразует тип данных Java в тип данных sql. Класс используется для автоматической генерации первичного ключа. Элемент генератора является «родным».

Это указывает hibernate на то, что он может выбрать любой разработанный алгоритм, такой как Hilo, алгоритм идентификации или последовательности, для создания первичного ключа. Наконец, класс. Это определяющий класс, который отображает свойство класса java на столбец в таблице базы данных. Атрибут name ссылается на имя свойства класса java, а столбец - это столбец таблицы в базе данных. Атрибут type содержит тип hibernate, который поможет системе определить тип данных при преобразовании данных класса Java в тип данных RDBMS (система управления реляционной базой данных).

Примечание. Этот код объясняет отображение спящего режима. Это не фактическая реализация кода.

Код:

Вот так выглядит XML-файл. Он взят из hibernate.org, который является официальным сайтом 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">




Этот файл сохраняется в формате .hbm.xml. В этом случае файл должен был храниться под именем EMP_ATR.hbm.xml.

Тип отображения Hibernate

Итак, в предыдущем примере кода мы видим типы отображения спящего режима в файле XML. Эти типы сопоставления могут быть разных типов:

  1. Примитив: у этого типа отображения есть типы данных, определенные как «целое число», «символ», «число с плавающей точкой», «строка», «двойное число», «логическое значение», «короткое», «длинное» и т. Д. Они присутствуют в каркасе гибернации. сопоставить тип данных Java с типом данных СУБД.
  2. Дата и время: это «дата», «время», «календарь», «отметка времени» и т. Д. Как и в примитиве, у нас есть эти отображения типов даты и времени.
  3. Двоичные и большие объекты. К этим типам относятся «clob», «blob», «binary», «text» и т. Д., Существуют типы данных «Clob» и «blob» для поддержки отображения типов данных больших объектов, таких как изображения и видео.
  4. JDK связанный: некоторые из отображений для объектов, которые находятся за пределами досягаемости предыдущего типа отображений, включены в эту категорию. Это «класс», «локаль», «валюта», «часовой пояс».

Вывод

Следовательно, отображение гибернации - это концепция, которая может быть реализована путем установления отображений с использованием файлов XML. Эти сопоставления становятся основой базы данных, разработанной в соответствии с требованиями бизнес-модели. Это помогает в определении отношений между постоянными объектами в базе данных. Это отображение имеет решающее значение для проектирования базы данных, поскольку оно становится основой для интерфейсного приложения с точки зрения производительности, точности и скорости.

Рекомендуемые статьи

Это руководство по Hibernate Mapping. Здесь мы обсуждаем отображение гибернации с подробным объяснением, типами и основными типами отображения гибернации вместе с примером кода. Вы также можете посмотреть следующую статью, чтобы узнать больше -

  1. Что такое Hibernate?
  2. Hibernate Framework
  3. Что такое Java Hibernate?
  4. Hibernate Интервью Вопросы