У нас есть веб-приложение, которое использует JSP
, Servlet
и Hibernate
. Образец дизайна, который мы получили, это MVC, что означает, что означает,Вы пишете код Hibernate внутри POJO?
JSP -> Servlet -> Beans (POJO)
Теперь вопрос. После того, как разработчики внедрили запросы на спящий режим, создание сеанса спящего режима и т. Д. Внутри POJO. Теперь внутри этих POJO существуют такие методы, как getAllEmployees()
, getAllAgents()
и т. Д. Это очень усложнило нам изменить таблицы базы данных (мы обрабатываем базу данных вручную, используя MySQL Workbench
) и используем автоматические инструменты для повторного создания POJO, поскольку эти методы будут потерял.
Теперь есть 2 аргумента. Один из них заключается в том, что это сохранение запросов на спящий режим, сеансы внутри POJO - хорошая работа, потому что это похоже на чистый MVC. Другой аргумент - переместить код гибернатора в Servlets
и вызвать POJO точно так же, как beans, только для установки и получения значений.
Мы еще не работали в Hibernate. Сверху 2, что является предпочтительным местом для написания кода hibermnate, когда дело доходит до спящего режима?
Наконец, обратите внимание, мы не заинтересованы в Спринг или других структур, мы используем чисто JSP и сервлетов с Hibernate
, что о DAO шаблон проектирования? – vincent
Да. Без использования Spring или какой-либо другой инфраструктуры POJO вам будет сложно реализовать правильные шаблоны проектирования DAO-DTO, которые справедливо упоминает @vincent. – Richard
По моему опыту, то, что я видел и делал, имеет отдельные сущности (POJO). Это просто представление таблицы, связанной с ней. Затем записывается отдельный класс «службы», который выполняет все CRUD на объектах. Таким образом, у вас будет 'List agentList = service.fetchAllAgents();' и код Hibernate будет находиться в 'fetchAllAgents()'. Или 'Агент newAgent = service.saveAgent (...);'. Я уверен, что другие могут справиться с этим по-другому, но именно так все компании, над которыми я работал, сделали это. –
Ascalonian