Dit kan een n + 1
zijn
probleem.
U kunt een JOIN FETCH
in uw JPA-query om dit op te lossen.
Werk uw JPA-repository zo bij
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);
}
Ga voor een meer gedetailleerde uitleg naar dit antwoord.
PS: Ik heb de zoekopdracht niet getest.