Ключевое (неправильное) слово здесь - "держать". Вы рассматриваете БД как элемент программы. Но БД - это файл на диске. Который, теоретически, может не влезть в память. И даже одни ключи - тоже могут не влезть. В Джаве есть пного прекрасных вещей, но в работе с файлами есть не меньше прекрасного - блокировки, конкурентный доступ. Впрочем, я забыл, что речь идет об учебной подели, и потеря данных при попытке реального использования не рассматривается в качестве проблемы.
@SilenceOfWinter: Хм. А это ведь именно то что я сам же говорю чуть ниже - если судить по фактически выполняемой работе, а не по названиям, и роутер у нас будет контроллером, а контроллер - моделью, то всё сходится.
Абсолютно бессмысленный говнокод, true похапе way. Решаем строго поставленную задачу, "не допустить появления ошибки". Мысль о том, что ошибки надо не прятать под ковер, а ВЫЯВЛЯТЬ и ИСПРАВЛЯТЬ, даже не приходит в похапешную голову.