Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lightblueseas/persistence-api
Project for that holds base classes for persistence like base entity or base business objects and mapper for mapping between them
https://github.com/lightblueseas/persistence-api
data-initialization database entity java-8 jpa persistence-api rest rest-api rest-client
Last synced: 3 months ago
JSON representation
Project for that holds base classes for persistence like base entity or base business objects and mapper for mapping between them
- Host: GitHub
- URL: https://github.com/lightblueseas/persistence-api
- Owner: lightblueseas
- Created: 2015-10-26T12:32:44.000Z (about 9 years ago)
- Default Branch: develop
- Last Pushed: 2019-12-30T12:33:42.000Z (about 5 years ago)
- Last Synced: 2024-10-12T11:13:14.086Z (3 months ago)
- Topics: data-initialization, database, entity, java-8, jpa, persistence-api, rest, rest-api, rest-client
- Language: Java
- Size: 662 KB
- Stars: 5
- Watchers: 9
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
persistence-api
====================[![Build Status](https://travis-ci.org/lightblueseas/persistence-api.svg?branch=master)](https://travis-ci.org/lightblueseas/persistence-api)
[![license apache2](https://img.shields.io/badge/license-apache2-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/be62e9b55fb444818a70be678a5a1fb8)](https://www.codacy.com/app/tatjana19/persistence-api?utm_source=github.com&utm_medium=referral&utm_content=lightblueseas/persistence-api&utm_campaign=badger)
[![Open Issues](https://img.shields.io/github/issues/lightblueseas/persistence-api.svg?style=flat)](https://github.com/lightblueseas/persistence-api/issues)
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/de.alpharogroup/persistence-api/badge.svg)](https://maven-badges.herokuapp.com/maven-central/de.alpharogroup/persistence-api)The persistence-api is the parent project that provides api module projects for implement jpa projects. It tends to be easy to understand and uses different standards like JPA and or-mapper framework hibernate and spring for dependency injection.
Here is a simple description of the important module projects:
# entities-api
The entities-api module project provides several interfaces like Versionable, Activatable, Validatable that can be implemented from entity or domain classes
# base-entities
The base-entities module project provides abstract entity classes like versionable, activatable, validatable and other useful base entity classes.
# business-api
The business-api module project provides business intefaces and abstract classes for execute crud processes.
# data-api
The data-api module project provides generic repository intefaces.
- contains attribute converter classes for the new java 8 java.time package.
# data-initialization
The data-initialization module project provides only one abstract class AbstractDatabaseInitialization that provides callback methods for initialization of a database. The callback methods can be overwritten to provide custom behavior if needed.
# data-usertype
The data-usertype module project provides specific usertype classes.
# domain-api
The domain-api module project provides generic base domain classes and service intefaces.
# domain-mapper
The domain-mapper module project provides generic mapper classes that use the dozzer framework for map entity classes to domain specific classes.
# rest-api
The domain-api module project provides rest intefaces and abstract classes for execute crud processes.
# rest-client
The rest-client module project provides an abstract rest client for test rest services. It uses the cxf framework from apache.
## License
The source code comes under the liberal Apache License V2.0, making persistence-api great for all types of back end applications.
## Maven dependency
Maven dependency is now on sonatype.
Check out [sonatype repository](https://oss.sonatype.org/index.html#nexus-search;gav~de.alpharogroup~persistence-api~~~) for latest snapshots and releases.Add the following maven dependencies to your project `pom.xml` if you want to import the core functionality:
You can first define the version properties:
...
6.6
${persistence-api.version}
${persistence-api.version}
${persistence-api.version}
${persistence-api.version}
${persistence-api.version}
${persistence-api.version}
${persistence-api.version}
${persistence-api.version}
${persistence-api.version}
${persistence-api.version}
...
Add the following maven dependency to your project `pom.xml` if you want to import the functionality of base-entities:
...
de.alpharogroup
base-entities
${base-entities.version}
...
Add the following maven dependency to your project `pom.xml` if you want to import the functionality of business-api:
...
de.alpharogroup
business-api
${business-api.version}
...
Add the following maven dependency to your project `pom.xml` if you want to import the functionality of base-service-api:
...
de.alpharogroup
base-service-api
${base-service-api.version}
...
Add the following maven dependency to your project `pom.xml` if you want to import the functionality of data-api:
...
de.alpharogroup
data-api
${data-api.version}
...
Add the following maven dependency to your project `pom.xml` if you want to import the functionality of data-initialization:
...
de.alpharogroup
data-initialization
${data-initialization.version}
...
Add the following maven dependency to your project `pom.xml` if you want to import the functionality of data-usertype:
...
de.alpharogroup
data-usertype
${data-usertype.version}
...
Add the following maven dependency to your project `pom.xml` if you want to import the functionality of domain-api:
...
de.alpharogroup
domain-api
${domain-api.version}
...
Add the following maven dependency to your project `pom.xml` if you want to import the functionality of domain-mapper:
...
de.alpharogroup
domain-mapper
${domain-mapper.version}
...
Add the following maven dependency to your project `pom.xml` if you want to import the functionality of rest-api:
...
de.alpharogroup
rest-api
${rest-api.version}
...
Add the following maven dependency to your project `pom.xml` if you want to import the functionality of rest-client:
...
de.alpharogroup
rest-client
${rest-client.version}
...
## Want to Help and improve it? ###
The source code for persistence-api are on GitHub. Please feel free to fork and send pull requests!
Create your own fork of [lightblueseas/persistence-api/fork](https://github.com/lightblueseas/persistence-api/fork)
To share your changes, [submit a pull request](https://github.com/lightblueseas/persistence-api/pull/new/master).
Don't forget to add new units tests on your changes.
## Contacting the Developer
Do not hesitate to contact the persistence-api developers with your questions, concerns, comments, bug reports, or feature requests.
- Feature requests, questions and bug reports can be reported at the [issues page](https://github.com/lightblueseas/persistence-api/issues).## Note
No animals were harmed in the making of this library.
# Donations
If you like this library, please consider a donation through paypal:
or over bitcoin or bitcoin-cash with:
1Jzso5h7U82QCNmgxxSCya1yUK7UVcSXsW
or over ether with:
0xaB6EaE10F352268B0CA672Dd6e999C86344D49D8
## Credits
|Travis CI|
|:-:|
|![Travis CI](https://travis-ci.com/images/logos/TravisCI-Full-Color.png)|
|Many thanks to [Travis CI](https://travis-ci.org) for providing a free continuous integration service for open source projects.|# Similar projects
Here is a list of awesome projects for persistence:
* [mardao](https://github.com/sosandstrom/mardao) Mardao Architect's Java DAO generator.
* [spring-data](https://github.com/spring-projects/spring-data-jpa) Simplifies the development of creating a JPA-based data access layer.