YDB ORM para Java (YOJ) é um ORM leve para entidades imutáveis.
O YOJ se integra bem ao YDB e também possui uma implementação de repositório na memória com semântica semelhante ao YDB para testes de persistência extremamente rápidos.
YOJ é licenciado sob licença Apache, versão 2.0.
Se você deseja contribuir para o YOJ, consulte o Aviso aos colaboradores externos e siga as orientações.
Para usar o YOJ no seu projeto , basta adicionar o YOJ BOM (Bill of Materials) ao seu Maven
:
tech.ydb.yoj yoj-bom 2.6.1 pom importar
Em seguida, dependa apenas dos módulos necessários, especificando apenas groupId
= tech.ydb.yoj
e artifactId
= yoj-
(veja os nomes de
abaixo).
? YOJ consiste nos seguintes módulos:
databind
: Lógica central de ligação de dados usada para converter entre objetos Java e linhas de banco de dados (ou qualquer coisa representável por um Java Map
, na verdade).
repository
: abstrações principais e APIs para entidades, repositórios, transações, etc. A API de entidade foi projetada para ser minimamente intrusiva, para que seus objetos de domínio (com toda a lógica de negócios interessante!) possam facilmente se tornar entidades.
repository-ydb-v2
: Implementação da API do repositório para YDB. Usa YDB SDK v2.x. Recomendado.
repository-inmemory
: Implementação da API do repositório na memória usando estruturas de dados persistentes de coleções Eclipse. Possui semântica semelhante ao YDB para modificação de dados, para testar de maneira fácil e rápida sua lógica de negócios sem girar contêineres ou acessar uma instalação real do YDB. Altamente recomendado.
repository-ydb-common
: lógica comum para todas as implementações do repositório YDB, independentemente da versão do SDK YDB usada.
repository-test
: Testes básicos pelos quais todas as implementações do Repositório devem passar.
json-jackson-v2
: Suporte para serialização JSON e desserialização de campos de entidade, usando Jackson 2.x.
aspect
: aspecto AspectJ e anotação @YojTransactional
para uso com AspectJ e Spring AOP. Permite uma experiência semelhante ao Spring @Transactional
para seus métodos que precisam iniciar ou continuar uma transação YDB.
ext-meta-generator
: Processador de anotação que gera caminhos de campo para cada um de seus campos Entity
, para ser usado com TableQueryBuilder
( Table.query()
DSL) e YqlPredicate
.
util
: Classes utilitárias usadas na implementação do YOJ.