Class SqliteTeamRepository

java.lang.Object
fr.luc.crcore.team.impl.InMemoryTeamRepository
fr.luc.crcore.team.impl.SqliteTeamRepository
All Implemented Interfaces:
Repository<Team>, TeamRepository

public class SqliteTeamRepository extends InMemoryTeamRepository
Implémentation TeamRepository adossée à SQLite.

Stratégie : write-through cache. On hérite de InMemoryTeamRepository pour conserver les requêtes rapides (findAll, findByName, etc. en mémoire), et on overrride save(Team) et delete(UUID) pour persister synchroniquement vers SQLite. Le constructeur crée les tables si nécessaire et recharge l'état complet depuis la DB.

Schéma (3 tables) :

  • crcore_teams — une ligne par équipe (champs scalaires)
  • crcore_team_members — une ligne par membre
  • crcore_team_scores — une ligne par (équipe, score nommé)

Sur save(Team), on supprime puis ré-insère membres et scores de l'équipe (approche simple et robuste pour des volumes faibles d'event).