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