Giter Site home page Giter Site logo

lightblueseas / persistence-api Goto Github PK

View Code? Open in Web Editor NEW
5.0 9.0 0.0 678 KB

Project for that holds base classes for persistence like base entity or base business objects and mapper for mapping between them

Java 100.00%
persistence-api entity jpa database java-8 rest-api rest rest-client data-initialization

persistence-api's Introduction

persistence-api

Build Status license apache2 Codacy Badge Open Issues Maven Central

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 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:

<properties>
		...
	<!-- PERSISTENCE-API version -->
	<persistence-api.version>6.6</persistence-api.version>
	<base-entities.version>${persistence-api.version}</base-entities.version>
	<base-service-api.version>${persistence-api.version}</base-service-api.version>
	<business-api.version>${persistence-api.version}</business-api.version>
	<data-api.version>${persistence-api.version}</data-api.version>
	<data-initialization.version>${persistence-api.version}</data-initialization.version>
	<data-usertype.version>${persistence-api.version}</data-usertype.version>
	<domain-api.version>${persistence-api.version}</domain-api.version>
	<domain-mapper.version>${persistence-api.version}</domain-mapper.version>
	<rest-api.version>${persistence-api.version}</rest-api.version>
	<rest-client.version>${persistence-api.version}</rest-client.version>
		...
</properties>

Add the following maven dependency to your project pom.xml if you want to import the functionality of base-entities:

	<dependencies>
		...
        <!-- BASE-ENTITIES DEPENDENCY -->
		<dependency>
			<groupId>de.alpharogroup</groupId>
			<artifactId>base-entities</artifactId>
			<version>${base-entities.version}</version>
		</dependency>
		...
	</dependencies>

Add the following maven dependency to your project pom.xml if you want to import the functionality of business-api:

	<dependencies>
		...
        <!-- BUSINESS-API DEPENDENCY -->
		<dependency>
			<groupId>de.alpharogroup</groupId>
			<artifactId>business-api</artifactId>
			<version>${business-api.version}</version>
		</dependency>
		...
	</dependencies>

Add the following maven dependency to your project pom.xml if you want to import the functionality of base-service-api:

	<dependencies>
		...
        <!-- BASE-SERVICE-API DEPENDENCY -->
		<dependency>
			<groupId>de.alpharogroup</groupId>
			<artifactId>base-service-api</artifactId>
			<version>${base-service-api.version}</version>
		</dependency>
		...
	</dependencies>

Add the following maven dependency to your project pom.xml if you want to import the functionality of data-api:

	<dependencies>
		...
        <!-- DATA-API DEPENDENCY -->
		<dependency>
			<groupId>de.alpharogroup</groupId>
			<artifactId>data-api</artifactId>
			<version>${data-api.version}</version>
		</dependency>
		...
	</dependencies>

Add the following maven dependency to your project pom.xml if you want to import the functionality of data-initialization:

	<dependencies>
		...
        <!-- DATA-INITIALIZATION DEPENDENCY -->
		<dependency>
			<groupId>de.alpharogroup</groupId>
			<artifactId>data-initialization</artifactId>
			<version>${data-initialization.version}</version>
		</dependency>
		...
	</dependencies>

Add the following maven dependency to your project pom.xml if you want to import the functionality of data-usertype:

	<dependencies>
		...
        <!-- DATA-USERTYPE DEPENDENCY -->
		<dependency>
			<groupId>de.alpharogroup</groupId>
			<artifactId>data-usertype</artifactId>
			<version>${data-usertype.version}</version>
		</dependency>
		...
	</dependencies>

Add the following maven dependency to your project pom.xml if you want to import the functionality of domain-api:

	<dependencies>
		...
        <!-- DOMAIN-API DEPENDENCY -->
		<dependency>
			<groupId>de.alpharogroup</groupId>
			<artifactId>domain-api</artifactId>
			<version>${domain-api.version}</version>
		</dependency>
		...
	</dependencies>

Add the following maven dependency to your project pom.xml if you want to import the functionality of domain-mapper:

	<dependencies>
		...
        <!-- DOMAIN-MAPPER DEPENDENCY -->
		<dependency>
			<groupId>de.alpharogroup</groupId>
			<artifactId>domain-mapper</artifactId>
			<version>${domain-mapper.version}</version>
		</dependency>
		...
	</dependencies>

Add the following maven dependency to your project pom.xml if you want to import the functionality of rest-api:

	<dependencies>
		...
        <!-- REST-API DEPENDENCY -->
		<dependency>
			<groupId>de.alpharogroup</groupId>
			<artifactId>rest-api</artifactId>
			<version>${rest-api.version}</version>
		</dependency>
		...
	</dependencies>

Add the following maven dependency to your project pom.xml if you want to import the functionality of rest-client:

	<dependencies>
		...
        <!-- REST-CLIENT DEPENDENCY -->
		<dependency>
			<groupId>de.alpharogroup</groupId>
			<artifactId>rest-client</artifactId>
			<version>${rest-client.version}</version>
		</dependency>
		...
	</dependencies>

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

To share your changes, submit a pull request.

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.

Note

No animals were harmed in the making of this library.

Donations

If you like this library, please consider a donation through paypal: PayPal this

or over bitcoin or bitcoin-cash with:

1Jzso5h7U82QCNmgxxSCya1yUK7UVcSXsW

or over ether with:

0xaB6EaE10F352268B0CA672Dd6e999C86344D49D8

or over flattr: Flattr this

Credits

Travis CI
Travis CI
Many thanks to Travis CI for providing a free continuous integration service for open source projects.

Similar projects

Here is a list of awesome projects for persistence:

  • mardao Mardao Architect's Java DAO generator.
  • spring-data Simplifies the development of creating a JPA-based data access layer.

persistence-api's People

Contributors

astrapi69 avatar blowupyourchains avatar codacy-badger avatar jimmymaci avatar tatjana19 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

persistence-api's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.