Fakultas Ilmu Komputer UI

Skip to content
Snippets Groups Projects
Commit 9ef8e460 authored by Raihan Adliputra's avatar Raihan Adliputra
Browse files

chore: done with readme.md

parent 162ef069
No related branches found
No related tags found
Loading
......@@ -7,33 +7,33 @@
* Saya baru mengetahui bahwa mengetik isi dari class akan lebih cepat dari mengetik import terlebih dahulu
### Pertanyaan
1. Tolong jelaskan secara singkat apa kegunaan dari anotasi-anotasi yang ada pada model (@AllArgsConstructor, @NoArgsConstructor, @Setter, @Getter, @Entity, @Table) <br />
* **@AllArgsConstructor** berfungsi untuk
* **@NoArgsConstructor** berfungsi untuk
* **@Setter** berfungsi untuk
* **@Getter** berfungsi untuk
* **@Entity** berfungsi untuk
* **@Table** berfungsi untuk
* **@AllArgsConstructor** berfungsi untuk membuat *constructor* yang nantinya akan membutuhkan argumen pada *class*.
* **@NoArgsConstructor** berfungsi untuk men-*generate constructor* kosong.
* **@Setter** berfungsi untuk men-*generate* fungsi *setter*.
* **@Getter** berfungsi untuk men-*generate* fungsi *getter*.
* **@Entity** berfungsi untuk mendefinisikan kelas yang ada berkorelasi dengan tabel pada *database*.
* **@Table** berfungsi untuk mendefinisikan nama tabel *database* yang akan digunakan.
2. Pada class CourseDb, terdapat method findByCodeUsingQuery dan findByCode, apakah perbedaan kedua method tersebut? Jelaskan juga kegunaan @Query pada method findByCodeUsingQuery! <br />
* Method **findByCodeUsingQuery** berfungsi untuk mencari Objek Course yang sesuai dengan codenya menggunakan Query.
* Method **findByCode** berfungsi untuk mencari Objek Course yang sesuai dengan codenya menggunakan method bawaan dari JPA Repository.
<br /><br />
**@Query** digunakan agar kita bisa menjalankan query sql untuk mencari code yang sesuai dari Course yang ingin kita lihat pada tabel relasi(?) yang sudah kita buat.
**@Query** digunakan agar kita bisa menjalankan query sql untuk mencari code yang sesuai dari Course yang ingin kita lihat pada tabel relasi yang sudah kita buat. Atau dalam kata lain method tersebut digunakan untuk meng-*execute* JPQL dan *query native* dari SQL nya.
3. Jelaskan perbedaan kegunaan dari anotasi @JoinTable dan @JoinColumn <br />
* **@JoinTable** berfungsi untuk
* **@JoinColumn** berfungsi untuk
* **@JoinColumn** berfungsi untuk membuat sebuah kolom baru pada *database* yang ada dan kolom tersebut digunakan untuk merefer kolom lain menggunakan *foreign key*.
* **@JoinTable** berfungsi untuk membuat pemetaan asosiasi-asosiasi seperti **many-to-many**, **many-to-one**, dan lainnya kedalam tabel *database*.
4. Pada class Pengajar, digunakan anotasi @JoinColumn pada atribut Course, apa kegunaan dari name, referencedColumnName, dan nullable dalam anotasi tersebut? dan apa perbedaan nullable dan penggunaan anotasi @NotNull <br />
* **referencedColumName** adalah
* **name** adalah
* **nullable** digunakan untuk
* Perbedaan antara **nullable** dan anotasi **@NotNull** adalah
* **referencedColumName** adalah sebuah kolom yang akan dirujuk dari kolom lain yang merupakan *doreign key*.
* **name** adalah nama kolom suatu *entity*.
* **nullable** digunakan untuk mencegah adanya data yang bersifat null pada *database*.
* Perbedaan antara **nullable** dan anotasi **@NotNull** adalah **nullable** menunjukkan status dari null tersebut, sementara **@NotNull** digunakan untuk mencegah adanya data yang null untuk masuk kedalam *database*.
5. Jelaskan kegunaan FetchType.LAZY, CascadeType.ALL, dan FetchType.EAGER <br />
* **FetchType.Lazy** digunakan untuk
* **CascadeType.ALL** digunakan untuk
* **FetchType.EAGER** digunakan untuk
* **FetchType.Lazy** digunakan untuk mengakses sebuah atribut yang saat dibutuhkan.
* **CascadeType.ALL** digunakan untuk mengambil atribut yang berelasi ketika *parent entity* diambil.
* **FetchType.EAGER** digunakan untuk menyebarkan operasi seperti **PERSIST**, **REMOVE**, **REFRESH**, **MERGE**, dan lainnya ke entitas yang terkait.
## Tutorial 2
### What I have learned today
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment