Вы должны удалить собственный счетчик методов и создать конкретный c (бизнес) запрос для получения размера списка, например
public long getCommentsCount(Company c) {
String query = "SELECT COUNT(cm) FROM Company AS c JOIN c.comments AS cm WHERE c = :company";
return entityManager.createQuery(q, Long.class).setParameter("company", c).getSingleResult();
}
Некоторые поставщики персистентности могут оптимизировать производительность, когда такого рода запрос загружается в виде @NamedQuery для объекта или при использовании CriteriaQuery API. В зависимости от вашей базы данных вам может потребоваться изменить класс возврата на Number.class и преобразовать в long.
Если вы хотите еще больше настроить свою производительность, используйте метод createNativeQuery и напишите свой собственный чистый SQL, но имейте в виду, что изменения в схеме БД требуют пересмотра этих запросов.