Хорошее место для начала - определить один путь через приложение, добавить какой-либо элемент в базу данных.
Если вы запускаете приложение через Eclipse, тогда установите точку останова в Hibernate DAO или доменном объекте, который используется для этого. Выполните типичное взаимодействие с пользователем для добавления этого элемента, как только вы достигнете точки останова, затем начнете работать в обратном направлении (через цепочку вызовов), пока не достигнете пользовательского интерфейса. К настоящему времени вы должны были определить полный путь через приложение и основные задействованные компоненты. В качестве альтернативы, если вы знаете основной компонент пользовательского интерфейса, с которого он начинается (сервлет или другой), вы можете начать с него и проходить через каждый вызов метода.
Важно делать заметки об основных классах, участвующих в этом взаимодействии, либо ручкой, либо бумагой, либо вы можете задокументировать это с помощью UML - используйте диаграмму последовательности.
Кстати, если вы не можете запустить свое приложение через Eclipse, тогда подключите удаленный отладчик к серверу приложений / контейнеру сервлетов, в котором работает ваше приложение.
например. Для Tomcat см http://confluence.sakaiproject.org/display/BOOT/Setting+Up+Tomcat+For+Remote+Debugging
Это один из методов, который можно использовать для понимания рабочего процесса.