Skip to content

M08 · Bab 2± 50 menitDraf AI

Relasi Antar Entity

Tujuan belajar

  • Memetakan relasi @ManyToOne dan @OneToMany(mappedBy) serta menentukan sisi pemilik
  • Menjaga dua sisi relasi tetap sinkron dengan helper method
  • Memakai cascade dan orphanRemoval hanya pada relasi induk–anak
  • Memilih fetch LAZY dan menangani LazyInitializationException dengan benar
  • Menjelaskan kapan @ManyToMany sebaiknya diganti entity penghubung

Prasyarat: JPA dan Entity

Kuis

5 soal · lulus bila minimal 70% benar

1.Relasi Order ↔ OrderItem dua arah, OrderItem.order memakai @JoinColumn(name = "order_id", nullable = false), dan Order.items punya cascade = CascadeType.ALL. Kode hanya memanggil order.getItems().add(item) lalu em.persist(order). Apa yang terjadi?
2.Apa fetch type default @ManyToOne di Jakarta Persistence?
3.Job terjadwal memanggil orderService.findPaidOrders() lalu meng-iterasi order.getItems() di luar service, dan gagal dengan LazyInitializationException. Perbaikan yang paling tepat?
4.Order.items memakai orphanRemoval = true. Di dalam transaksi, kode memanggil order.removeItem(item) (menghapus dari list dan mengisi item.order = null), tanpa em.remove. Apa yang terjadi saat commit?
5.Relasi Product ↔ Category memakai @ManyToMany. Sekarang tim butuh menyimpan position (urutan tampil produk di kategori) dan addedAt. Langkah yang tepat?

Jawab semua soal dulu (0/5)