Това може да е n + 1
проблем.
Можете да използвате JOIN FETCH
във вашата JPA заявка, за да коригирате това.
Актуализирайте вашето JPA хранилище по този начин
public interface MessagesRepository extends CrudRepository<Message, Long> {
@Query("Select m from Message m join fetch m.sender ms join fetch m.receiver mr where ms.id = :senderId or mr.id = :receiverId order by m.time desc")
List<Message> findBySenderIdOrReceiverIdOrderByTimeDesc(Long senderId, Long receiverId);
}
За по-подробно обяснение вижте това отговор.
PS: Не съм тествал заявката.