YDB ORM für Java (YOJ) ist ein leichtgewichtiges ORM für unveränderliche Entitäten.
YOJ lässt sich gut in YDB integrieren und verfügt außerdem über eine In-Memory-Repository-Implementierung mit YDB-ähnlicher Semantik für blitzschnelle Persistenztests.
YOJ ist unter der Apache-Lizenz, Version 2.0, lizenziert.
Wenn Sie einen Beitrag zu YOJ leisten möchten, lesen Sie die Mitteilung für externe Mitwirkende und befolgen Sie die Richtlinien.
Um YOJ in Ihrem Projekt zu verwenden , fügen Sie einfach YOJ BOM (Bill of Materials) zu Ihren Maven
hinzu:
tech.ydb.yoj yoj-bom 2.6.1 pom importieren
Verlassen Sie sich dann nur auf die Module, die Sie benötigen, und geben Sie nur groupId
= tech.ydb.yoj
und artifactId
= yoj-
“ an (siehe
-Namen unten).
? YOJ besteht aus folgenden Modulen:
databind
: Kerndatenbindungslogik, die zum Konvertieren zwischen Java-Objekten und Datenbankzeilen (oder eigentlich allem, was durch eine Java Map
darstellbar ist) verwendet wird.
repository
: Kernabstraktionen und APIs für Entitäten, Repositorys, Transaktionen usw. Die Entitäts-API ist so konzipiert, dass sie minimal aufdringlich ist, sodass Ihre Domänenobjekte (mit all der saftigen Geschäftslogik!) problemlos zu Entitäten werden können.
repository-ydb-v2
: Repository-API-Implementierung für YDB. Verwendet YDB SDK v2.x. Empfohlen.
repository-inmemory
: In-Memory-Repository-API-Implementierung unter Verwendung persistenter Datenstrukturen aus Eclipse-Sammlungen. Verfügt über eine YDB-ähnliche Semantik zur Datenänderung, um Ihre Geschäftslogik einfach und schnell zu testen, ohne Container zu drehen oder auf eine echte YDB-Installation zuzugreifen. Sehr empfehlenswert.
repository-ydb-common
: Gemeinsame Logik für alle YDB-Repository-Implementierungen, unabhängig von der verwendeten YDB-SDK-Version.
repository-test
: Grundlegende Tests, die alle Repository-Implementierungen bestehen müssen.
json-jackson-v2
: Unterstützung für JSON-Serialisierung und Deserialisierung von Entitätsfeldern unter Verwendung von Jackson 2.x.
aspect
: AspectJ-Aspekt und @YojTransactional
-Annotation zur Verwendung mit AspectJ und Spring AOP. Ermöglicht eine Spring @Transactional
ähnliche Erfahrung für Ihre Methoden, die eine YDB-Transaktion initiieren oder fortsetzen müssen.
ext-meta-generator
: Annotationsprozessor, der Feldpfade für jedes Ihrer Entity
generiert, zur Verwendung mit TableQueryBuilder
( Table.query()
DSL) und YqlPredicate
.
util
: Dienstprogrammklassen, die in der YOJ-Implementierung verwendet werden.