Hibernate ORM adalah solusi pemetaan objek/relasional yang kuat untuk Java, dan memudahkan pengembangan logika persistensi untuk aplikasi, perpustakaan, dan kerangka kerja.
Hibernate mengimplementasikan JPA, API standar untuk persistensi objek/relasional di Java, namun juga menawarkan serangkaian fitur dan API ekstensif yang melampaui spesifikasi.
Lihat Hibernate.org untuk informasi lebih lanjut.
Hibernate menggunakan Jenkins dan GitHub Actions untuk kebutuhan CI-nya. Melihat
Pekerjaan Jenkins
Pekerjaan Tindakan GitHub
Pembangunan memerlukan setidaknya Java 11 dan paling banyak Java 17.
Hibernate menggunakan Gradle sebagai alat pembuatannya. Lihat bagian Gradle Primer di bawah jika Anda baru mengenal Gradle.
Kontributor harus membaca Panduan Berkontribusi.
Lihat panduan untuk menyiapkan IntelliJ atau Eclipse sebagai lingkungan pengembangan Anda.
Alat pembangunan Gradle memiliki dokumentasi yang luar biasa. 2 khususnya yang sangat diperlukan:
Panduan Pengguna Gradle adalah panduan pengguna umum yang mengikuti pendekatan topikal untuk menjelaskan semua kemampuan Gradle.
Panduan DSL Gradle unik dan luar biasa dalam mempercepat aspek-aspek tertentu Gradle dengan cepat.
Kami akan membahas dasar-dasar yang perlu diketahui oleh pengembang dan kontributor baru di Gradle agar dapat produktif dengan cepat.
Catatan | Proyek ini mendefinisikan Gradle Wrapper. Bagian selanjutnya akan mengasumsikan eksekusi melalui wrapper. |
Gradle menggunakan konsep tugas pembangunan (setara dengan target Ant atau fase/tujuan Maven). Anda bisa mendapatkan daftar tugas yang tersedia melalui
tugas tingkatan
Untuk menjalankan tugas di semua modul, cukup lakukan tugas tersebut dari direktori root. Gradle akan mengunjungi setiap subproyek dan menjalankan tugas tersebut jika subproyek mendefinisikannya. Untuk menjalankan tugas dalam modul tertentu, Anda dapat:
cd
ke dalam direktori modul itu dan jalankan tugasnya
beri nama "jalur tugas". Misalnya, untuk menjalankan pengujian modul hibernate-core dari direktori root, Anda dapat mengucapkan gradle hibernate-core:test
Tugas umum yang mungkin Anda gunakan dalam membangun Hibernate meliputi:
build - Merakit (stoples) dan menguji proyek ini
kompilasi - Melakukan semua tugas kompilasi termasuk staging sumber daya dari utama dan pengujian
jar - Menghasilkan arsip jar dengan semua kelas yang dikompilasi
test - Menjalankan tes
terbitkanToMavenLocal - Menginstal toples proyek ke cache maven lokal Anda (alias ~/.m2/repository). Perhatikan bahwa Gradle tidak pernah menggunakan ini, tetapi ini dapat berguna untuk menguji build Anda dengan build lokal berbasis Maven lainnya.
clean - Membersihkan direktori build
Pengujian terhadap database tertentu dapat dilakukan dengan 2 cara berbeda:
Nanti…
Build Hibernate mendefinisikan beberapa "profil" pengujian database di databases.gradle
. Profil ini dapat diaktifkan berdasarkan nama menggunakan properti db
build yang dapat diteruskan sebagai prop sistem JVM ( -D
) atau sebagai properti proyek Gradle ( -P
). Contoh di bawah ini menggunakan pendekatan properti proyek Gradle.
build bersih gradle -Pdb=pgsql
Untuk menjalankan pengujian dari IDE, Anda perlu memastikan perluasan properti terjadi. Gunakan perintah berikut:
kompilasi bersih gradle -Pdb=pgsql
CATATAN: Jika Anda menjalankan pengujian terhadap driver JDBC yang tidak tersedia melalui pusat Maven, pastikan untuk menambahkan driver ini ke cache repo Maven lokal Anda (~/.m2/repository) atau (lebih baik) menambahkannya ke server repo Maven pribadi
Anda dapat menjalankan pengujian apa pun pada database tertentu yang dikonfigurasi di profil databases.gradle
.
Yang harus Anda lakukan adalah menjalankan perintah berikut:
./gradlew setDataBase -Pdb=pgsql
atau Anda dapat menggunakan versi pintasan:
./gradlew sDB -Pdb=pgsql
Anda dapat melakukan ini dari modul yang ingin Anda uji atau dari folder root hibernate-orm
.
Setelah itu, pilih saja tes apa saja dari IDE dan jalankan seperti biasa. Hibernate akan memilih konfigurasi database dari file hibernate.properties
yang telah disiapkan oleh tugas setDataBase
Gradle.
Anda tidak perlu menginstal semua database secara lokal untuk dapat mengujinya jika Anda memiliki buruh pelabuhan yang tersedia. Skrip docker_db.sh
memungkinkan Anda memulai database pra-konfigurasi yang dapat digunakan untuk pengujian.
Yang harus Anda lakukan adalah menjalankan perintah berikut:
./docker_db.sh postgresql
menghilangkan argumen akan mencetak daftar opsi yang memungkinkan.
Ketika database dimulai dengan benar, Anda dapat menjalankan tes dengan profil khusus yang diberi akhiran _ci
misalnya pgsql_ci
untuk PostgreSQL. Dengan menggunakan properti sistem dbHost
Anda dapat mengonfigurasi alamat IP host buruh pelabuhan Anda.
Perintah untuk menjalankan pengujian akan terlihat seperti berikut:
./uji gradlew -Pdb=pgsql_ci "-DdbHost=192.168.99.100"
Tabel berikut mengilustrasikan daftar perintah untuk berbagai database yang dapat diuji secara lokal.
Basis data | docker_db.sh | Perintah Gradle |
---|---|---|
H2 | - | |
HSQLDB | - | |
Apache Derby | - | |
MySQL | | |
MariaDB | | |
PostgreSQL | | |
PerusahaanDB | | |
Peramal | | |
DB2 | | |
SQLServer | | |
Sybase ASE (jTDS) | | |
Sybase ASE (jConnect) | | |
SAP HANA | | |
KecoaDB | | |
TiDB | | |
Informasikan | | |
Untuk menghentikan container yang dimulai oleh docker
, gunakan perintah
docker stop $container_name
Gantikan perintah podman
dengan docker
jika menggunakan podman
Misalnya, untuk menghentikan wadah mariadb
docker stop mariadb