Мы используем pgPool в нашем проекте Java для балансировки нагрузки в нашей базе данных Postgres.
pgPool отправляет запросы только для чтения на подчиненные серверы и запросы на запись на главный. Все в порядке.
Но в нашем приложении есть очень специфические случаи, когда нам нужно, чтобы запрос выполнялся только на главном сервере.
pgPool предоставляет следующий механизм:
/*NO LOAD BALANCE*/ SELECT * FROM user;
Приведенный выше запрос всегда будет выполняться на главном сервере.
Я много искал, но хотя можно установить комментарий в ручном запросе (в классе Query есть setComment()), я не смог найти способ сделать это, используя репозиторий Hibernate с запросами, созданными из имен методов.
Пример:
public interface UserRepository extends Repository<User, Long> {
List<User> findByEmailAddressAndLastname(String emailAddress, String lastname);
}
Как поместить комментарий в этот запрос?