Cela pourrait être un n + 1
problème.
Vous pouvez utiliser un JOIN FETCH
dans votre requête JPA pour résoudre ce problème.
Mettez à jour votre référentiel JPA comme ceci
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);
}
Pour une explication plus détaillée, consultez ceci réponse.
PS : Je n'ai pas testé la requête.