Mysql
 sql >> база данни >  >> RDS >> Mysql

Spring Boot / JPA / mySQL - връзката много към едно създава твърде много SQL заявки

Това може да е 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: Не съм тествал заявката.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. docker-compose mysql init sql не се изпълнява

  2. фатална грешка mysql.h:Няма такъв файл или директория по време на компилацията

  3. Свържете онлайн mysql база данни с локалния xampp сървър с помощта на php

  4. Как правилно да създадете съставни първични ключове - MYSQL

  5. Създайте вградена SQL таблица в движение (за изключващо ляво присъединяване)