Skip to the content.

План 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 мин. | |