Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Spring Boot / JPA / mySQL - hubungan banyak ke satu membuat terlalu banyak kueri SQL

Ini bisa berupa n + 1 masalah.

Anda dapat menggunakan JOIN FETCH dalam kueri JPA Anda untuk memperbaikinya.

Perbarui repositori JPA Anda seperti ini

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

}

Untuk penjelasan lebih rinci, lihat ini jawabannya.

PS: Saya belum menguji kueri.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menggunakan batas pada gabungan kiri di mysql

  2. Mengunggah gambar dengan bantuan array dan mengambil kesalahan

  3. zsh:perintah tidak ditemukan:mysql

  4. Koneksi JDBC- Class.forName vs Class.forName().newInstance?

  5. MySQL:GROUP_CONCAT Bersarang