sql >> Databasteknik >  >> RDS >> Mysql

Spring Boot / JPA / mySQL - många till en relation skapar för många SQL-frågor

Detta kan vara en n + 1 problem.

Du kan använda en JOIN FETCH i din JPA-fråga för att fixa detta.

Uppdatera ditt JPA-förråd på det sättet

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);

}

För en mer detaljerad förklaring kolla in det här svar.

PS: Jag har inte testat frågan.




  1. Felaktig syntax nära ''

  2. Mysql summa av poster per månad för de senaste 12 månaderna

  3. Trunkate Mysql Table Cron Job?

  4. MySQLSyntaxErrorException vid försök att köra PreparedStatement