Решение поставленной задачи основывается на анализе процессов регистрации и учета документов, поступающих в планово-производственную службу предприятия, а также выделении из них тех задач, которые можно автоматизировать путем создания веб-приложения с доступом к базе данных.
В ходе реализации серверной части приложения принято решение организовать взаимодействие с базой данных MySQL-сервера посредством драйвера, предоставленного производителем СУБД.
В процессе разработки сервера поставлена задача реализовать функции отправки/получения данных из СУБД, их консолидации и формирования веб-страниц, отображаемых в браузере пользователя.
Библиотека не только решает задачу связи классов Java с таблицами базы данных (и типов данных Java с типами данных SQL), но и также предоставляет средства для автоматической генерации и обновления набора таблиц, построения запросов и обработки полученных данных и может значительно уменьшить время разработки, которое обычно тратится на ручное написание SQL- и JDBC-кода.
Hibernate автоматизирует генерацию SQL-запросов и освобождает разработчика от ручной обработки результирующего набора данных и преобразования объектов, максимально облегчая перенос (портирование) приложения на любые базы данных SQL.
Hibernate обеспечивает прозрачную поддержку сохранности данных для POJO-объектов (стандартных Java-объектов, не унаследованных от какого-то специфического объекта и не реализующих никаких служебных интерфейсов сверх тех, которые нужны для бизнес-модели).
Сопоставление Java-классов с таблицами базы данных осуществляется с помощью конфигурационных XML-файлов или Java-аннотаций. При использовании файла XML Hibernate может генерировать скелет исходного кода для классов длительного хранения.
Hibernate поддерживает отображение пользовательских типов значений. Это делает возможными такие сценарии:
Hibernate обеспечивает использование SQL-подобного языка Hibernate Query Language (HQL), который позволяет выполнять SQL-подобные запросы, записанные рядом с объектами данных Hibernate.
Дата | Выполнено, % |
---|---|
2020-06-01 01:19:40 | 10 |
2020-05-31 22:19:37 | 100 |