Skip to content

Latest commit

 

History

History
35 lines (34 loc) · 2.9 KB

ROADMAP8.md

File metadata and controls

35 lines (34 loc) · 2.9 KB

План 8

  1. Подключить Hibernate к проекту (5 мин.)
  2. Добавить поле version в классы User, Authority и Activity (2 мин.)
  3. Пометить поле id в классах User, Authority и Activity аннотацией @Generated (40 мин.)
  4. Написать маппинг для классов User, Authority и Activity и конфигурацию для Hibernate (70 мин.)
  5. Создать класс HibernateProvider (30 мин.)
    • get() возвращает SessionFactory
  6. Создать классы UserDao, AuthorityDao, ActivityDao (20 мин.)
  7. Заинжектить HibernateProvider в UserDao, AuthorityDao, ActivityDao (10 мин.)
  8. Перенести методы DBWrapper взаимодействующие с сущностями User, Authority и Activity в соответствующие Dao классы и переписать их на работу с HibernateProvider (100 мин.)
  9. В сервлеты UserServlet, AuthorityServlet и ActivityServlet вместо DBWrapper заинжектить соответствующие Dao классы (15 мин.)
  10. Подключить c3p0 к проекту (10 мин.)
  11. Настроить Hibernate на работу с c3p0 (40 мин.)
  12. В HibernateProvider добавить замену параметров подключения к БД из конфига на параметры получаемые через переменные среды (30 мин.)
    • Если переменная DATABASE_URL существует, использовать параметры из переменных, иначе из конфига
  13. Адаптировать миграции для работы с PostgreSQL (50 мин.)
  14. Написать миграции для приведения схемы данных в вид совместимый с ORM (60 мин.)

Оценка времени

Пункт плана Оценка времени Фактическое время
1. 5 мин.
2. 2 мин.
3. 40 мин.
4. 70 мин.
5. 30 мин.
6. 20 мин.
7. 10 мин.
8. 100 мин.
9. 15 мин.
10. 10 мин.
11. 40 мин.
12. 30 мин.
13. 50 мин.
14. 60 мин.