Я однажды писал гуй на жаве без ОРМ, решил начать с модели, нагородил крутую схему с классами равными таблицам в БД, с методами типа getXbyYId и т.п. Потом перешел на гуй, и понял, что мне это всё нах не надо было, и еще мне нужны join-запросы, которые натянуть на мою модель было очень сложно. Поэтому я всё снес и переписал не под имеющиеся таблицы, а под нужные мне запросы. И вместо 10 крупных навороченных классов у меня стало 3-4 маленьких класса из одних полей (писал бы на котлине - хватило бы дата классов в одну строчку) и еще пара статических методов.