Ваш вопрос слишком общий, поскольку вы не указали информацию о том, с чем именно у вас возникла проблема.
Итак, исходя из моего понимания, я дам вам краткое изложение того, что делает каждая из этих технологий и как они связаны:
Рассмотрим веб-сайт, который позволяет вам получать и сохранять сведения о сотрудниках в базе данных из вашего веб-браузера. Браузер будет взаимодействовать с вашим сервером с помощью AJAX (если вы не знаете, что такое AJAX, я бы посоветовал вам прочитать больше и ознакомиться с ним).
Теперь запрос на основе AJAX достиг вашего сервера, который использует другую технологию Java, называемую «веб-сервис», которая будет получать эти данные и на основе бизнес-логики решит, запрашивать ли БД и что запрашивать. это для.
В каждой базе данных будут реализованы разные разновидности SQL, поэтому вы не можете изменять, постоянно меняя ядро вашего проекта для каждой базы данных. Таким образом, мы используем Hibernate для обеспечения беспроблемного уровня прямой связи с различными типами баз данных одновременно. Все, что вам теперь нужно изменить при переносе из одной базы данных в другую, - это строка подключения и используемый вами драйвер (оба в файле конфигурации hibernate - hibernate.cfg.xml).