Не кажется мне что это хороший тьюториал. Право же, зачем учить как не надо делать? Если сейчас нет желания объяснять все настройки, лучше просто написать «делать так». И DTO здесь не к месту, есть же OpenSessionInViewInterceptor.
1) Попробуйте покрыть свой код юнит-тестами на 100% (сможете увидеть несколько неудачных архитектурных решений).
2) Посмотрите как это же приложение можно было сделать на Grails (там под капотом те же спринг и гибернейт, но кода всего строчек 100 будет, считая импорты)
Spring — Hibernate: ассоциация один ко многим