Spring Data JPA: @Entity & Repository
Penjelasan
Spring Data JPA adalah ORM Spring Boot — tabel direpresentasikan class ditandai @Entity dengan @Id dan @GeneratedValue untuk primary key. YANG PALING KHAS: Repository cukup didefinisikan sebagai INTERFACE extends JpaRepository<Entity, TipeId> — Spring Boot OTOMATIS men-generate implementasi method CRUD dasar (findAll, findById, save, delete) TANPA kamu menulis satu baris kode implementasinya.
Contoh Konsep
@Entity
public class Produk {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String nama;
private double harga;
// getter dan setter (atau pakai Lombok @Data untuk generate otomatis)
}
public interface ProdukRepository extends JpaRepository<Produk, Long> {
// KOSONG, tapi sudah otomatis punya findAll(), findById(), save(), deleteById(), dst
}
Praktikum
Buat @Entity Artikel dengan @Id @GeneratedValue Long id, String judul, dan String isi. Buat interface ArtikelRepository extends JpaRepository<Artikel, Long> (kosong, cukup deklarasi interface-nya saja).
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Interface Repository yang KOSONG bukan berarti tidak berfungsi — ini FITUR UTAMA Spring Data JPA, bukan bug atau kekurangan. Spring Boot men-generate IMPLEMENTASI-nya secara otomatis di runtime berdasarkan tipe generic <Produk, Long> yang kamu tulis, kamu cuma perlu deklarasi interface-nya.