{"id":15830105,"url":"https://github.com/lightblueseas/persistence-api","last_synced_at":"2025-04-01T18:31:05.376Z","repository":{"id":57730220,"uuid":"44967064","full_name":"lightblueseas/persistence-api","owner":"lightblueseas","description":"Project for that holds base classes for persistence like base entity or base business objects and mapper for mapping between them","archived":false,"fork":false,"pushed_at":"2019-12-30T12:33:42.000Z","size":678,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":9,"default_branch":"develop","last_synced_at":"2024-10-12T11:13:14.086Z","etag":null,"topics":["data-initialization","database","entity","java-8","jpa","persistence-api","rest","rest-api","rest-client"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lightblueseas.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-10-26T12:32:44.000Z","updated_at":"2019-12-30T12:33:45.000Z","dependencies_parsed_at":"2022-09-26T22:01:21.061Z","dependency_job_id":null,"html_url":"https://github.com/lightblueseas/persistence-api","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lightblueseas%2Fpersistence-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lightblueseas%2Fpersistence-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lightblueseas%2Fpersistence-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lightblueseas%2Fpersistence-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lightblueseas","download_url":"https://codeload.github.com/lightblueseas/persistence-api/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246635983,"owners_count":20809333,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-initialization","database","entity","java-8","jpa","persistence-api","rest","rest-api","rest-client"],"created_at":"2024-10-05T11:04:41.371Z","updated_at":"2025-04-01T18:31:04.947Z","avatar_url":"https://github.com/lightblueseas.png","language":"Java","readme":"persistence-api\n====================\n\n\u003cdiv align=\"center\"\u003e\n\n[![Build Status](https://travis-ci.org/lightblueseas/persistence-api.svg?branch=master)](https://travis-ci.org/lightblueseas/persistence-api)\n[![license apache2](https://img.shields.io/badge/license-apache2-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0)\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/be62e9b55fb444818a70be678a5a1fb8)](https://www.codacy.com/app/tatjana19/persistence-api?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=lightblueseas/persistence-api\u0026utm_campaign=badger)\n[![Open Issues](https://img.shields.io/github/issues/lightblueseas/persistence-api.svg?style=flat)](https://github.com/lightblueseas/persistence-api/issues) \n[![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)\n\n\u003c/div\u003e\n\nThe 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.\n\nHere is a simple description of the important module projects:\n\n# entities-api\n\nThe entities-api module project provides several interfaces like Versionable, Activatable, Validatable that can be implemented from entity or domain classes\n\n# base-entities\n\nThe base-entities module project provides abstract entity classes like versionable, activatable, validatable and other useful base entity classes. \n\n# business-api\n\nThe business-api module project provides business intefaces and abstract classes for execute crud processes.\n\n# data-api\n\nThe data-api module project provides generic repository intefaces.\n\n- contains attribute converter classes for the new java 8 java.time package.\n\n# data-initialization\n\nThe 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.\n\n# data-usertype\n\nThe data-usertype module project provides specific usertype classes.\n\n# domain-api\n\nThe domain-api module project provides generic base domain classes and service intefaces.\n\n# domain-mapper\n\nThe domain-mapper module project provides generic mapper classes that use the dozzer framework for map entity classes to domain specific classes.\n\n# rest-api\n\nThe domain-api module project provides rest intefaces and abstract classes for execute crud processes.\n\n# rest-client\n\nThe rest-client module project provides an abstract rest client for test rest services. It uses the cxf framework from apache.\n\n## License\n\nThe source code comes under the liberal Apache License V2.0, making persistence-api great for all types of back end applications.\n\n## Maven dependency\n\nMaven dependency is now on sonatype.\nCheck out [sonatype repository](https://oss.sonatype.org/index.html#nexus-search;gav~de.alpharogroup~persistence-api~~~) for latest snapshots and releases.\n\nAdd the following maven dependencies to your project `pom.xml` if you want to import the core functionality:\n\nYou can first define the version properties:\n\n\t\u003cproperties\u003e\n\t\t\t...\n\t\t\u003c!-- PERSISTENCE-API version --\u003e\n\t\t\u003cpersistence-api.version\u003e6.6\u003c/persistence-api.version\u003e\n\t\t\u003cbase-entities.version\u003e${persistence-api.version}\u003c/base-entities.version\u003e\n\t\t\u003cbase-service-api.version\u003e${persistence-api.version}\u003c/base-service-api.version\u003e\n\t\t\u003cbusiness-api.version\u003e${persistence-api.version}\u003c/business-api.version\u003e\n\t\t\u003cdata-api.version\u003e${persistence-api.version}\u003c/data-api.version\u003e\n\t\t\u003cdata-initialization.version\u003e${persistence-api.version}\u003c/data-initialization.version\u003e\n\t\t\u003cdata-usertype.version\u003e${persistence-api.version}\u003c/data-usertype.version\u003e\n\t\t\u003cdomain-api.version\u003e${persistence-api.version}\u003c/domain-api.version\u003e\n\t\t\u003cdomain-mapper.version\u003e${persistence-api.version}\u003c/domain-mapper.version\u003e\n\t\t\u003crest-api.version\u003e${persistence-api.version}\u003c/rest-api.version\u003e\n\t\t\u003crest-client.version\u003e${persistence-api.version}\u003c/rest-client.version\u003e\n\t\t\t...\n\t\u003c/properties\u003e\n\nAdd the following maven dependency to your project `pom.xml` if you want to import the functionality of base-entities:\n\n\t\t\u003cdependencies\u003e\n\t\t\t...\n            \u003c!-- BASE-ENTITIES DEPENDENCY --\u003e\n\t\t\t\u003cdependency\u003e\n\t\t\t\t\u003cgroupId\u003ede.alpharogroup\u003c/groupId\u003e\n\t\t\t\t\u003cartifactId\u003ebase-entities\u003c/artifactId\u003e\n\t\t\t\t\u003cversion\u003e${base-entities.version}\u003c/version\u003e\n\t\t\t\u003c/dependency\u003e\n\t\t\t...\n\t\t\u003c/dependencies\u003e\n\nAdd the following maven dependency to your project `pom.xml` if you want to import the functionality of business-api:\n\n\t\t\u003cdependencies\u003e\n\t\t\t...\n            \u003c!-- BUSINESS-API DEPENDENCY --\u003e\n\t\t\t\u003cdependency\u003e\n\t\t\t\t\u003cgroupId\u003ede.alpharogroup\u003c/groupId\u003e\n\t\t\t\t\u003cartifactId\u003ebusiness-api\u003c/artifactId\u003e\n\t\t\t\t\u003cversion\u003e${business-api.version}\u003c/version\u003e\n\t\t\t\u003c/dependency\u003e\n\t\t\t...\n\t\t\u003c/dependencies\u003e\n\nAdd the following maven dependency to your project `pom.xml` if you want to import the functionality of base-service-api:\n\n\t\t\u003cdependencies\u003e\n\t\t\t...\n            \u003c!-- BASE-SERVICE-API DEPENDENCY --\u003e\n\t\t\t\u003cdependency\u003e\n\t\t\t\t\u003cgroupId\u003ede.alpharogroup\u003c/groupId\u003e\n\t\t\t\t\u003cartifactId\u003ebase-service-api\u003c/artifactId\u003e\n\t\t\t\t\u003cversion\u003e${base-service-api.version}\u003c/version\u003e\n\t\t\t\u003c/dependency\u003e\n\t\t\t...\n\t\t\u003c/dependencies\u003e\n\nAdd the following maven dependency to your project `pom.xml` if you want to import the functionality of data-api:\n\n\t\t\u003cdependencies\u003e\n\t\t\t...\n            \u003c!-- DATA-API DEPENDENCY --\u003e\n\t\t\t\u003cdependency\u003e\n\t\t\t\t\u003cgroupId\u003ede.alpharogroup\u003c/groupId\u003e\n\t\t\t\t\u003cartifactId\u003edata-api\u003c/artifactId\u003e\n\t\t\t\t\u003cversion\u003e${data-api.version}\u003c/version\u003e\n\t\t\t\u003c/dependency\u003e\n\t\t\t...\n\t\t\u003c/dependencies\u003e\n\nAdd the following maven dependency to your project `pom.xml` if you want to import the functionality of data-initialization:\n\n\t\t\u003cdependencies\u003e\n\t\t\t...\n            \u003c!-- DATA-INITIALIZATION DEPENDENCY --\u003e\n\t\t\t\u003cdependency\u003e\n\t\t\t\t\u003cgroupId\u003ede.alpharogroup\u003c/groupId\u003e\n\t\t\t\t\u003cartifactId\u003edata-initialization\u003c/artifactId\u003e\n\t\t\t\t\u003cversion\u003e${data-initialization.version}\u003c/version\u003e\n\t\t\t\u003c/dependency\u003e\n\t\t\t...\n\t\t\u003c/dependencies\u003e\n\nAdd the following maven dependency to your project `pom.xml` if you want to import the functionality of data-usertype:\n\n\t\t\u003cdependencies\u003e\n\t\t\t...\n            \u003c!-- DATA-USERTYPE DEPENDENCY --\u003e\n\t\t\t\u003cdependency\u003e\n\t\t\t\t\u003cgroupId\u003ede.alpharogroup\u003c/groupId\u003e\n\t\t\t\t\u003cartifactId\u003edata-usertype\u003c/artifactId\u003e\n\t\t\t\t\u003cversion\u003e${data-usertype.version}\u003c/version\u003e\n\t\t\t\u003c/dependency\u003e\n\t\t\t...\n\t\t\u003c/dependencies\u003e\n\nAdd the following maven dependency to your project `pom.xml` if you want to import the functionality of domain-api:\n\n\t\t\u003cdependencies\u003e\n\t\t\t...\n            \u003c!-- DOMAIN-API DEPENDENCY --\u003e\n\t\t\t\u003cdependency\u003e\n\t\t\t\t\u003cgroupId\u003ede.alpharogroup\u003c/groupId\u003e\n\t\t\t\t\u003cartifactId\u003edomain-api\u003c/artifactId\u003e\n\t\t\t\t\u003cversion\u003e${domain-api.version}\u003c/version\u003e\n\t\t\t\u003c/dependency\u003e\n\t\t\t...\n\t\t\u003c/dependencies\u003e\n\nAdd the following maven dependency to your project `pom.xml` if you want to import the functionality of domain-mapper:\n\n\t\t\u003cdependencies\u003e\n\t\t\t...\n            \u003c!-- DOMAIN-MAPPER DEPENDENCY --\u003e\n\t\t\t\u003cdependency\u003e\n\t\t\t\t\u003cgroupId\u003ede.alpharogroup\u003c/groupId\u003e\n\t\t\t\t\u003cartifactId\u003edomain-mapper\u003c/artifactId\u003e\n\t\t\t\t\u003cversion\u003e${domain-mapper.version}\u003c/version\u003e\n\t\t\t\u003c/dependency\u003e\n\t\t\t...\n\t\t\u003c/dependencies\u003e\n\nAdd the following maven dependency to your project `pom.xml` if you want to import the functionality of rest-api:\n\n\t\t\u003cdependencies\u003e\n\t\t\t...\n            \u003c!-- REST-API DEPENDENCY --\u003e\n\t\t\t\u003cdependency\u003e\n\t\t\t\t\u003cgroupId\u003ede.alpharogroup\u003c/groupId\u003e\n\t\t\t\t\u003cartifactId\u003erest-api\u003c/artifactId\u003e\n\t\t\t\t\u003cversion\u003e${rest-api.version}\u003c/version\u003e\n\t\t\t\u003c/dependency\u003e\n\t\t\t...\n\t\t\u003c/dependencies\u003e\n\nAdd the following maven dependency to your project `pom.xml` if you want to import the functionality of rest-client:\n\n\t\t\u003cdependencies\u003e\n\t\t\t...\n            \u003c!-- REST-CLIENT DEPENDENCY --\u003e\n\t\t\t\u003cdependency\u003e\n\t\t\t\t\u003cgroupId\u003ede.alpharogroup\u003c/groupId\u003e\n\t\t\t\t\u003cartifactId\u003erest-client\u003c/artifactId\u003e\n\t\t\t\t\u003cversion\u003e${rest-client.version}\u003c/version\u003e\n\t\t\t\u003c/dependency\u003e\n\t\t\t...\n\t\t\u003c/dependencies\u003e\n\n\n## Want to Help and improve it? ###\n\nThe source code for persistence-api are on GitHub. Please feel free to fork and send pull requests!\n\nCreate your own fork of [lightblueseas/persistence-api/fork](https://github.com/lightblueseas/persistence-api/fork)\n\nTo share your changes, [submit a pull request](https://github.com/lightblueseas/persistence-api/pull/new/master).\n\nDon't forget to add new units tests on your changes.\n\n## Contacting the Developer\n\nDo not hesitate to contact the persistence-api developers with your questions, concerns, comments, bug reports, or feature requests.\n- Feature requests, questions and bug reports can be reported at the [issues page](https://github.com/lightblueseas/persistence-api/issues).\n\n## Note\n\nNo animals were harmed in the making of this library.\n\n# Donations\n\nIf you like this library, please consider a donation through paypal: \u003ca href=\"https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=B37J9DZF6G9ZC\" target=\"_blank\"\u003e\n\u003cimg src=\"https://www.paypalobjects.com/en_US/GB/i/btn/btn_donateCC_LG.gif\" alt=\"PayPal this\" title=\"PayPal – The safer, easier way to pay online!\" border=\"0\" /\u003e\n\u003c/a\u003e\n\nor over bitcoin or bitcoin-cash with:\n\n1Jzso5h7U82QCNmgxxSCya1yUK7UVcSXsW\n\nor over ether with:\n\n0xaB6EaE10F352268B0CA672Dd6e999C86344D49D8\n\nor over flattr: \u003ca href=\"https://flattr.com/submit/auto?fid=r7vp62\u0026url=https%3A%2F%2Fgithub.com%2Flightblueseas%2Fpersistence-api\" target=\"_blank\"\u003e\t\n\u003cimg src=\"http://button.flattr.com/flattr-badge-large.png\" alt=\"Flattr this\" title=\"Flattr this\" border=\"0\"\u003e\n\u003c/a\u003e\n\n## Credits\n\n|Travis CI|\n|:-:|\n|![Travis CI](https://travis-ci.com/images/logos/TravisCI-Full-Color.png)|\n|Many thanks to [Travis CI](https://travis-ci.org) for providing a free continuous integration service for open source projects.|\n\n# Similar projects\n\nHere is a list of awesome projects for persistence:\n\n* [mardao](https://github.com/sosandstrom/mardao) Mardao Architect's Java DAO generator.\n* [spring-data](https://github.com/spring-projects/spring-data-jpa) Simplifies the development of creating a JPA-based data access layer. \n \n","funding_links":["https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=B37J9DZF6G9ZC"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flightblueseas%2Fpersistence-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flightblueseas%2Fpersistence-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flightblueseas%2Fpersistence-api/lists"}