Tutorial Spring Boot JPA Dengan Banyak Entities

Tutorial Spring Boot JPA Dengan Banyak Entities ? Bagimana cara menggunakan entities yang lebih dari satu dengan Spring Boot JPA? Seperti apa Tutorial Spring Boot JPA Dengan Banyak Entities ? Apa itu Spring Boot JPA?

Sebelum melangkah, ada baiknya kamu memperkuat dasar terlebih dahulu. ……. Adalah tutorial Spring Boot JPA dengan satu Entities yang dapat membuat kamu lebih mengerti apa sih Spring Boot JPA itu? Tapi kalau kamu sudah mengerti dan siap melangkah, mari kita lanjut tutorialnya.

Spring Boot adalah salah satu framework dari Spring Framework. Dengan Spring Boot, developer tidak terlalu banyak menambahkan dependensi sehingga pembuatan aplikasi dapat lebih cepat. Selain itu, Spring Boot juga menyediakan banyak dependensi yang dibutuhkan oleh developer seperti  Spring Web, Spring Reactive Web, Spring Web Services, WebSocket, Jersey,  Template Thymeleaf, Apache Freemarker, Groovy Templates, Spring Security, OAuth2 Client, Okta, JDBC API, Liquibase Migration, JOOQ Access Layer, HyperSQL Database, Oracle Driver, Spring Boot Actuator, dan lainnya

Baca juga :
Tutorial Spring Boot JPA Dengan Satu Entities
Tutorial Menempelkan Kode dari Gist Github Untuk Artikel di WordPress

Apa itu JPA? JPA adalah standar akses database untuk bahasa pemrograman Java. Karena Spring Boot menggunakan bahasa pemrograman Java, kita dapat menggunakan JPA untuk mengakses database. JPA mempermudah kita untuk mengakses database di Java. Ada satu lagi framework yang sering digunakan untuk mengimplementasikan JPA, yaitu Hibernate. Hibernate dan JPA tentunya berbeda dan tidak bisa dibandingkan. JPA diimplementasikan dengan Hibernate Annotation dan EntityManager libraries oleh Hibernate. Perpustakaan Hibernate Core mengimplementasikan Hibernate Annotation dan EntityManager untuk JPA.

Tutorial terdahulu adalah Tutorial Spring Boot Dengan Satu Entities, yang mana kita menggunakan Spring Boot JPA untuk satu Entity saja. Bagaimana dengan banyak Entities? Ayo ikuti tutorialnya.

Pertama supaya kamu download file di github Josikie terlebih dahulu#link. Kita akan memulai dari project jadi yang belum memiliki banyak entities. Project ini akan kita tambahin Entitiesnya. Untuk mendownload file, klik disini. Setelah itu klik tombol hijau Clone or Download lalu pilih Download ZIP seperti gambar di bawah ini :

Kemudian ekstrak file zip yang sudah didownload, setelah itu buka IDE yang kalian pakai, bisa pakai Intellij IDEA atau Eclipse, disini josikie memakai Intellij IDEA. Lalu pilih Import Project seperti gambar di bawah ini :

Lalu akan muncul pop up Select File or Directory to Import , pilih file hasil ekstrak zip yang tadi kita download lalu klik Ok seperti gambar di bawah ini :

Kemudian akan muncul pop up Import Project lalu pilih Maven dan klik Next seperti gambar di bawah ini :

Akan jadi muncul seperti gambar di bawah ini, klik Next :

Centang kotak yang dilingkari lalu klik Next seperti gambar di bawah ini :

Muncul seperti gambar di bawah ini, pilih folder SDK yang mau dipakai lalu klik Next, josikie menggunakan SDK 12 :

Dan terakhir akan muncul seperti gambar di bawah ini, langsung klik Finish saja karena Project name dan Project file location akan otomatis terisi dari sananya :

Begini foto penampakan pertama kali di Intellij IDEA dengan project yang kita download dari github tadi :

Masih ada yang kurang, yaitu Run. Run berguna untuk menjalankan project dan kode kita. Oleh karena itu, Run adalah hal wajib. Jika belum ada Run, pilih Add Configuration seperti yang dilingkari di bawah ini :  

Muncul pop up Run/Debug Configurations seperti gambar di bawah ini, klik tanda plus dibagian atas kiri lalu pilih Application seperti gambar di bawah ini :

Setelah itu klik Application -> Unnamed seperti gambar lalu klik bagian yang dilingkari seperti gambar di bawah ini :

Muncul pop up Chooese Main Class, cari main class, pilih seperti yang dilingkari pada gambar di bawah ini lalu klik Ok :

Kalau sudah akan menjadi seperti ini, kamu bisa member nama dibagian kotak Name pada bagian atas, kemudian klik Ok :

Setelah itu klik tombol Run untuk mengecek, apakah Run berjalan dengan lancar atau tidak? Seperti gambar di bawah ini :

Jika berjalan dengan lancar maka akan keluar tempat Run dan jika berhasil akan seperti gambar gambar di bawah ini :

Pertama kita akan menambahkan Entitiy baru. Buka src -> java -> entity lalu ubah nama package entity menjadi entities, klik kanan pada package entity lalu pilih Refactor -> Rename Seperti gambar di bawah ini :

Lalu akan muncul pop up Rename dan isikan seperti gambar di bawah ini :

Kemudian kita buat kelas baru di package entities, klik kanan pada package entities pilih New -> Java Class seperti gambar di bawah ini :

Muncul pop up Create New Class dan beri nama NamaBarang kemudian klik ok seperti gambar di bawah ini :

Ubah kode di kelas NamaBarang menjadi seperti kode di bawah ini :

Pada kode diatas, kita menambahkan @ManyToOne di atas field private Sales sales karena 1 Sales bisa memiliki banyak NamaBarang dan satu NamaBarang bisa dimiliki oleh banyak Sales.

Buka kelas Sales lalu ubah kode di kelas Sales menjadi kode di bawah ini :

Kita memasang @OneToMany tepat di atas field namaBarang yang baru dibuat pada kode di atas dengan mappedBy = “sales”

Pada package service buatlah dua kelas baru bernama SalesRepository dan NamaBarangRepository. Buka SalesRepository dan ubah kode di dalam kelas SalesRepository seperti kode di bawah ini agar SalesRepository menjadi interface:

Repository di atas adalah repository dari JPA, disini kita memasukkan <kelas pojo, Long> pada saat extends JpaRepository<> di kelas SalesRepository. Cukup seperti itu, maka kelas repository yang barusan kita buat akan menyediakan method save tanpa perlu kita membuat method save. Jika kita menggunakan EntityManager untuk repository seperti kelas SalesDAOService, kita harus membuat banyak insert() yang berbeda, namun dengan JpaRespository kita bisa menggunakan method save() untuk semua repository. Yang membedakan tiap repository adalah nama interface repositorynya.

Kemudian buatlah kelas JpaRepository di package service dengan nama NamaBarangRepository, setelah itu salin kode di bawah ini agar menjadi interface :

Kemudian buka kelas SalesDAOServiceCommandLineRunner, ubah dengan kode di bawah ini, kita akan menggunakan repository yang baru saja kita buat :

Setelah itu coba Run (cara Run : klik tombol hijau berbentuk segitiga di bagian atas kanan) dan lihat hasilnya di log Run bagian bawah. Berikut ini hasilnya jika berhasil :

Untuk memastikan, mari kita buka browser lalu akses http://localhost:8080/h2-console seperti gambar berikut ini :

Isi seperti gambar di atas, lalu klik tombol Connect.

Berikut ini penampakan pertama H2 Console :

Pilih NAMA_BARANG lalu klik Run dan akan jadi seperti berikut ini :

Setelah itu klik Clear dan pilih SALES kemudian klik Run maka akan jadi seperti gambar di bawah ini :

Selamat kamu berhasil sahabat!

Baca juga : Tutorial Sederhana Spring Boot Starter Web

Sekian, terimakasih, dan semoga bermanfaat:)