{"repo":"Mom0aut/DynamicRelations","free":true,"listed":false,"github":"https://github.com/Mom0aut/DynamicRelations","clone":"git clone https://github.com/Mom0aut/DynamicRelations.git","description":"Dynamic Relations for Java Spring Projects","language":"Java","stars":25,"topics":["java","spring-boot","springboot","sql","database","dynamic-relations","relationship","open-source","opensource","spring"],"license":"Apache-2.0","category":"databases-storage","readme_excerpt":"Dynamic Relations In every relational database you must always know which relations are possible to your entities. But sometimes these relations are unknown or could change anytime. With Dynamic Relations you can add or delete custom relations between entities during runtime. What is a Dynamic Relation? A dynamic relation can be viewed as a directed graph with a fixed input(SourceObject) and a dynamic output(target). For example with following entities: - Person - Dog - Document A person can have a dog and both entites could have documents(person info documents and dog info documents). Now you could add dynamic relations to all entities which could look like this: Each connection is a dynamic relation and following relations will be generated: - Person Relation with SourceObject Person - Person Document Relation with SourceObject Person Document - Dog Relation with SourceObject Dog - Dog Document Relation with SourceObject Dog Document Each relation got a dynamic target, that means you could create a relation to any other entity. In this scenario a person have a dog and both got documents, now you could change the relation during runtime (no altering of your Entities or Models). For example, you could delete a Person Document(got lost): Maven dependency How to use - Add the @Relation to your Entity - Implement RelationIdentity - Import Config Module for Component Scan - Use the RelationService - Ignore the @Relation with @IgnoreRelation Add the @Relation Simply add the @Relat","default_branch":null,"files":null,"tree":[],"storefront":"/r/Mom0aut","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Mom0aut/DynamicRelations/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}