YDB ORM for Java (YOJ) est un ORM léger pour les entités immuables.
YOJ s'intègre bien à YDB et dispose également d'une implémentation de référentiel en mémoire avec une sémantique de type YDB pour des tests de persistance ultra-rapides.
YOJ est sous licence Apache, version 2.0.
Si vous souhaitez contribuer à YOJ, consultez l'Avis aux contributeurs externes et suivez les directives.
Pour utiliser YOJ dans votre projet , ajoutez simplement YOJ BOM (Bill of Materials) à vos
Maven :
tech.ydb.yoj yoj-bom 2.6.1 pom importer
Dépendez ensuite uniquement des modules dont vous avez besoin, en spécifiant uniquement groupId
= tech.ydb.yoj
artifactId
= yoj-
(voir les noms de
ci-dessous).
? YOJ comprend les modules suivants :
databind
: logique de liaison de données de base utilisée pour convertir entre des objets Java et des lignes de base de données (ou tout ce qui est représentable par une Java Map
, en fait).
repository
: abstractions de base et API pour les entités, les référentiels, les transactions, etc. L'API d'entité est conçue pour être peu intrusive, afin que vos objets de domaine (avec toute la logique métier juteuse !) puissent facilement devenir des entités.
repository-ydb-v2
: Implémentation de l'API du référentiel pour YDB. Utilise le SDK YDB v2.x. Recommandé.
repository-inmemory
: implémentation de l'API du référentiel en mémoire utilisant des structures de données persistantes à partir des collections Eclipse. Possède une sémantique de type YDB pour la modification des données, afin de tester facilement et rapidement votre logique métier sans faire tourner les conteneurs ni accéder à une véritable installation YDB. Fortement recommandé.
repository-ydb-common
: logique commune pour toutes les implémentations du référentiel YDB, quelle que soit la version du SDK YDB utilisée.
repository-test
: tests de base que toutes les implémentations de référentiel doivent réussir.
json-jackson-v2
: Prise en charge de la sérialisation JSON et de la désérialisation des champs d'entité, à l'aide de Jackson 2.x.
aspect
: aspect AspectJ et annotation @YojTransactional
à utiliser avec AspectJ et Spring AOP. Permet une expérience de type Spring @Transactional
pour vos méthodes qui doivent lancer ou poursuivre une transaction YDB.
ext-meta-generator
: Processeur d'annotation qui génère des chemins de champ pour chacun de vos champs Entity
, à utiliser avec TableQueryBuilder
( Table.query()
DSL) et YqlPredicate
.
util
: Classes utilitaires utilisées dans l’implémentation de YOJ.