Skip to content

M08 · Bab 3± 50 menitDraf AI

Spring Data Repository

Tujuan belajar

  • Membuat repository dengan JpaRepository<T, ID> dan memakai operasi CRUD bawaannya
  • Menangani hasil findById yang berupa Optional tanpa NullPointerException
  • Menulis derived query method seperti findByStatusAndCreatedAtAfter serta existsBy/countBy
  • Menulis @Query JPQL dan native dengan parameter bernama, termasuk @Modifying untuk update massal
  • Mengembalikan projection (interface & DTO record) agar query hanya mengambil kolom yang dibutuhkan

Prasyarat: Relasi Antar Entity

Kuis

5 soal · lulus bila minimal 70% benar

1.Repository interface PurchaseOrderRepository extends JpaRepository<PurchaseOrder, Long> dipanggil repo.findById(42L) padahal tidak ada pesanan dengan ID 42. Apa yang terjadi?
2.Method List<PurchaseOrder> findByStatuss(OrderStatus status); (salah ketik) ditambahkan ke repository. Kapan kesalahannya ketahuan?
3.Kamu menulis @Query("update PurchaseOrder o set o.status = :status where o.createdAt < :before") tanpa anotasi tambahan, lalu memanggilnya. Apa yang terjadi?
4.Endpoint daftar pesanan hanya menampilkan nomor, status, dan total, tetapi query-nya memuat entity PurchaseOrder lengkap beserta relasinya. Perbaikan paling tepat?
5.Validasi pendaftaran harus mengecek apakah email sudah dipakai. Method repository mana yang paling efisien?

Jawab semua soal dulu (0/5)