Слоями абстракций сейчас никого не удивишь и иногда 90% километрового стректрейса — кишки фреймворка. Отлаживать в таких условиях что-то довольно муторно. Кроме того, фреймворк может скрывать детали реализации.

Если ради оптимизации надо найти, где в большом приложении выполняется конкретный SQL-запрос, особенно с учетом всяких ORM и entity-менеджеров, то можно включить отладочные логи для самой нижележащей штуки в этом всем (например, hibernate). А потом поставить conditional breakpoint на строчке, которая выводит сырой SQL-запрос. Ее обычно легко найти поиском по области видимости и/или по названию класса из лога. Затем запустить тесты (у вас же хорошее покрытие, да?), словить запрос на строчке с логом, идти вверх по стеку вызовов и смотреть, кто же такой запрос генерирует и в каких случаях.