sql >> Database >  >> RDS >> Mysql

Spring Boot / JPA / mySQL - veel-op-een-relatie creëert te veel SQL-query's

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.




  1. Hoe krijg je de UTC van een datetime-veld?

  2. Welke karakters kunnen eigenlijk SQL-injectie in MySQL veroorzaken?

  3. php:Bewaar afbeelding in Mysql blob, goed of slecht?

  4. Hoe kan ik meerdere invoer van rijen in dezelfde kolom van de database opslaan?