Repos for datra and db JPA repos manage databases in somekinf of automatic way, you extend it in an interface
service for logic controller for user requests
@Transactionla is used in services to add atomicity and it only catches runtime exceptions except if I tell it to catch all If catched inside the function rethrow again
For redis youll need a configuration file with the @Configuration annotation And there is a function inside that is annotated with @Bean
Get operations are in the controller are annotated with @Cacheable you give it somekind of an table name, The table name is a redis namespace There is also CachePut for updates and there is cacheEvict for deletions
Cassandra
Cassandra has a compound primary key that is partition key and clustering column. The partition key tells us in which node are we, and the data are sorted by clustering key
In Cassandra the primary key is created with a class Here the table is annotated with @Table
To prevent inefficient queries, include the partition key in every query to prevent asking all the nodes
Neo4j
https://chatgpt.com/c/69d414cd-7dcc-8325-a10c-07d750a20c42, the difference between neo4j objects