YDB ORM for Java (YOJ) adalah ORM ringan untuk entitas yang tidak dapat diubah.
YOJ terintegrasi dengan baik dengan YDB, dan juga memiliki implementasi repositori dalam memori dengan semantik mirip YDB untuk pengujian persistensi secepat kilat.
YOJ dilisensikan di bawah Lisensi Apache, Versi 2.0.
Jika Anda ingin berkontribusi pada YOJ, lihat Pemberitahuan kepada kontributor eksternal, dan ikuti panduannya.
Untuk menggunakan YOJ di proyek Anda , cukup tambahkan YOJ BOM (Bill of Materials) ke
Maven Anda :
tech.ydb.yoj yoj-bom 2.6.1 pom impor
Kemudian bergantung pada modul yang Anda butuhkan saja, tentukan hanya groupId
= tech.ydb.yoj
dan artifactId
= yoj-
(lihat nama
di bawah).
? YOJ terdiri dari modul-modul berikut:
databind
: Logika pengikatan data inti yang digunakan untuk mengkonversi antara objek Java dan baris database (atau apa pun yang dapat diwakili oleh Java Map
, sebenarnya).
repository
: Abstraksi inti dan API untuk entitas, repositori, transaksi, dll. API Entitas dirancang agar tidak terlalu mengganggu, sehingga objek domain Anda (dengan semua logika bisnis yang menarik!) dapat dengan mudah menjadi entitas.
repository-ydb-v2
: Implementasi API Repositori untuk YDB. Menggunakan YDB SDK v2.x. Direkomendasikan.
repository-inmemory
: Implementasi API Repositori Dalam Memori menggunakan struktur data persisten dari Eclipse Collections. Memiliki semantik mirip YDB untuk modifikasi data, untuk menguji logika bisnis Anda dengan mudah dan cepat tanpa memutar container atau mengakses instalasi YDB yang sebenarnya. Sangat direkomendasikan.
repository-ydb-common
: Logika Umum untuk semua implementasi Repositori YDB, apa pun versi SDK YDB yang digunakan.
repository-test
: Tes dasar yang harus dilewati oleh semua implementasi Repositori.
json-jackson-v2
: Dukungan untuk serialisasi JSON dan deserialisasi bidang entitas, menggunakan Jackson 2.x.
aspect
: Aspek AspectJ dan anotasi @YojTransactional
untuk penggunaan dengan AspectJ dan Spring AOP. Mengizinkan pengalaman seperti Spring @Transactional
untuk metode Anda yang perlu memulai atau melanjutkan transaksi YDB.
ext-meta-generator
: Pemroses anotasi yang menghasilkan jalur bidang untuk setiap bidang Entity
Anda, untuk digunakan dengan TableQueryBuilder
( Table.query()
DSL) dan YqlPredicate
.
util
: Kelas utilitas yang digunakan dalam implementasi YOJ.