...
To better understand these functionality, it has been created a Demo Application. That it is available here (https://gerrit.nordix.org/c/local/onap/clamp-pilot/+/11966).
Data Transfer Object
The Java code shown below, is the data transfer Object used by Rest Api Controller. (Validations and Swagger annotations have been removed for simplicity).
...
- replace all ElementCollections with Converters (Minimum change with Minimum improvement):
- A lot of small Jsons
- Using longtext, we are be able to maintain compatibility with MariaDB
- Minimum Java code impact
- 50% of tables (as _PROPERTIES, _META ) will be removed
- ToscaServiceTemplace as Json String:
- One big Json
- Using jsonb only PostgreSQL, will supported be supported
- Medium Java code impact: all persistence classes could be removed or have to be equal to original model
- (90% of tables ) will be removed
- Cassandra
- Document oriented approach, no converters needNo support for MariaDB and PostgreSQL
- Huge Java code impact: All repositories and all persistence classes have to change
- Completely different DatabaseNo support for MariaDB and PostgreSQL anymore