Мне нужно начать с того, куда я положил эти технологии в архитектуру 3 уровня: Это то, что у меня есть ...
уровень представления: HTML, JSP
приложение. уровень: Java EE, Spring
уровень доступа к данным: Hibernate, база данных PostgreSQL
Да, я бы поместил Hibernate на уровень доступа к данным. Фактически 3-й уровень - это «уровень данных», а не уровень доступа к данным, возможно, это вас смущает. Итак, все, что связано с бизнес-логикой, переходит на уровень приложения (или бизнеса).
Вы смешиваете уровень и слой, что довольно запутывает вас, особенно для вас самих! Если ваш вопрос касается слоев, задайте вопрос о слоях.
В любом случае, позвольте мне уточнить ...
В трехуровневой архитектуре уровни состоят из:
А вот типичные уровни многослойного приложения:
Hibernate будет частью уровня доступа к данным (но PostgreSQL является частью физического уровня ).
Уровни доступа к данным , , , Домен , Уровни доступа к данным соответствуют бизнес-уровню . Физический уровень соответствует уровню данных .
Если вы хотите использовать Spring MVC, он, скорее всего, будет находиться на уровне представления.