Да, вы можете выполнять простые SQL-запросы с Hibernate.
Нет, вам не нужен отдельный файл отображения hbm.xml (если вы не ХОТИТЕ , чтобы отделить запросы sql от остальных, и в этом случае вы можете сделать это). Вы можете отобразить свой именованный запрос SQL так же, как и с именованными запросами HQL.
Сможете ли вы «использовать кеширование», зависит от того, что именно вы понимаете под «кешированием» и как вы собираетесь отображать свой SQL-запрос; невозможно ответить, не зная больше деталей.
Все это говорит о том, что вам не нужно прибегать к SQL-запросу; HQL довольно мощный и вполне возможно (при условии наличия соответствующих отображений) написать ваш запрос как HQL. Можете ли вы опубликовать соответствующие сопоставления / схемы и ваш запрос SQL?