Apache Cayenne
# Apache Cayenne

Apache Cayenne es un motor de persistencia de código abierto publicado bajo Apache License, que provee mapeo objeto-relacional (ORM) y servicios de acceso remoto. Cayenne enlaza uno a más esquemas de bases de datos directamente con objetos Java, ofreciendo commits y rollbacks atómicos, generación de SQL, JOINs, secuencias y otras catacterísticas. Con Remote Object Persistence de Cayenne, es posible hacer persistentes esos objetos Java a nivel de clientes por vía de servicios web. O bien, empleando una serialización XML nativa, a los objetos puede dársele persistencia a nivel de clientes no basados en Java - como por ejemplo un navegador web con capacidad AJAX.

Cayenne soporta la ingeniería inversa y la generación de estructuras en materia de bases de datos, disponiendo además de un motor generador de clases basado en Velocity. Todas estas funciones se pueden controlar directamente por medio del CayenneModeler, una herramienta GUI plenamente funcional. No rquiere de configuraciones basadas en XML o anotaciones. Permite realizar rápidamente un mapeo directo de todo un esquema de base de datos a un conjunto de objetos Java, gracias a la herramienta gráfica CayenneModeler. Estas características hacen de Cayenne una herramienta de interés para los usuarios que recién se inician en la informática empresarial.

Cayenne ofrece características adicionales, entre las que se cuentan funciones de caché, un completo lenguaje de consulta de objetos, pre-fetching de relaciones, recuperación de objetos y relaciones a demanda, herencia de objetos, detección automática de bases de datos, así como persistencia de objetos genéricos. Otra característica muy importante consiste en que Cayenne puede emplearse en proyectos de prácticamente cualquier escala, grande o pequeña.

## Historia

Cayenne se inició como proyecto de Objectstyle, dirigido por Andrus Adamchik. Fue publicado bajo la Licencia Apache desde su primera entrega en año 2002. A comienzos de 2006, el proyecto se trasladó de Objectstyle a la Apache Software Foundation y en diciembre de 2006 fue promovido a la categoría de proyecto top level de esa fundación.

