ActiveJPA

ActiveJPA
Developer(s) Versates, Inc
Written in Java
Operating system Cross-platform
Platform Java Virtual Machine, version 1.7 or earlier
Type O/R Mapping
License Apache License 2.0
Website activejpa.org

ActiveJPA is an open-source application framework written in Java for object-relational mapping.

It is based on the Java Persistence API (JPA), but it does not strictly follow the JSR 338 Specification,[1] as it implements different design patterns and technologies.

Motivation

The framework originated as an effort to add behavior to entities, making them act as active records.[2]

It also implements a different way for proxying persistence operations, transaction management, intercepting operations, validating, logging and caching, using cross-cutting concerns to decouple these responsibilities to retain modularity, encapsulating them into aspects.

Features and Technologies

Convention Over Configuration

Coding by convention is the best way to decrease the number of decisions made by developers while implementing a technology. ActiveJPA does not require any initial configuration other than a datasource or connection details to the database to have an up and running persistence context.

It supports specific and unconventional aspects of the application as well by using annotations.

DSL Type Safe Querying

By using type safe domain-specific language (DSL),[3] all database queries can be made by using a fluent object-oriented interface.

Aspects

Persistence operations, transaction management, interception, validation, logging and caching are vertically defined by using cross-cutting concerns and encapsulating all these responsibilities into aspects.

It improves performance, scatters and tangles code design and implementation.

Database Access

The database access is abstracted from the JDBC 4.2 Specification,[4][5] supporting Java 1.7 and new JDBC features.

Transaction Management

ActiveJPA handles JTA nested transactions, global transactions and transactions managed on a JDBC connection.

See also

References

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.