YDB ORM para Java (YOJ) es un ORM ligero para entidades inmutables.
YOJ se integra bien con YDB y también tiene una implementación de repositorio en memoria con semántica similar a YDB para pruebas de persistencia ultrarrápidas.
YOJ tiene la licencia Apache, versión 2.0.
Si desea contribuir a YOJ, consulte el Aviso para contribuyentes externos y siga las pautas.
Para usar YOJ en su proyecto , simplemente agregue YOJ BOM (Lista de materiales) a sus
de Maven:
tech.ydb.yoj yoj-bom 2.6.1 pom <ámbito>importarámbito>
Luego dependa solo de los módulos que necesita, especificando solo groupId
= tech.ydb.yoj
y artifactId
= yoj-
(consulte los nombres de
a continuación).
? YOJ consta de los siguientes módulos:
databind
: lógica central de enlace de datos utilizada para convertir entre objetos Java y filas de la base de datos (o cualquier cosa representable mediante un Map
Java, en realidad).
repository
: abstracciones centrales y API para entidades, repositorios, transacciones, etc. La API de entidad está diseñada para ser mínimamente intrusiva, de modo que los objetos de su dominio (¡con toda la jugosa lógica empresarial!) puedan convertirse fácilmente en entidades.
repository-ydb-v2
: Implementación de API de repositorio para YDB. Utiliza YDB SDK v2.x. Recomendado.
repository-inmemory
: Implementación de API de repositorio en memoria utilizando estructuras de datos persistentes de las colecciones de Eclipse. Tiene una semántica similar a YDB para la modificación de datos, para probar fácil y rápidamente su lógica de negocios sin hacer girar contenedores ni acceder a una instalación YDB real. Altamente recomendado.
repository-ydb-common
: Lógica común para todas las implementaciones del repositorio YDB, independientemente de la versión del SDK de YDB utilizada.
repository-test
: pruebas básicas que deben pasar todas las implementaciones del repositorio.
json-jackson-v2
: Soporte para serialización JSON y deserialización de campos de entidad, usando Jackson 2.x.
aspect
: aspecto de AspectJ y anotación @YojTransactional
para uso con AspectJ y Spring AOP. Permite una experiencia similar a Spring @Transactional
para sus métodos que necesitan iniciar o continuar una transacción YDB.
ext-meta-generator
: Procesador de anotaciones que genera rutas de campo para cada uno de los campos de su Entity
, para usarse con TableQueryBuilder
( Table.query()
DSL) y YqlPredicate
.
util
: clases de utilidad utilizadas en la implementación de YOJ.