У меня есть интерфейс MyDao, который имеет этот метод (getByTenantId):
@RegisterRowMapper(MyConfigMapper.class)
public interface MyDao {
[....]
@SqlQuery("SELECT * FROM " + PostgresTables.MY_CONFIGS + " WHERE tenant_id = :tenantId")
@RegisterRowMapper(MyConfigListMapper.class)
List<MyConfig> getByTenantId(@Bind("tenantId") String tenantId);
}
, исследуя, почему этот запрос иногда медленный, я заметил, что мое приложение обращается к базе данных с двумя запросами:
/* MyDao.getByTenantId */ SELECT * FROM public.my_configs WHERE tenant_id = $1
и
EXPLAIN (FORMAT JSON) /* MyDao.getByTenantId */ SELECT * FROM public.my_configs WHERE tenant_id = $1
Я не ожидал "ОБЪЯСНИТЬ". Это выдается каждый раз? Как на самом деле работает JDBI - я ожидал, что он просто выдаст запрос «SELECT».